Skip to content

Commit 45a6cec

Browse files
authored
Spec the finally() operator (#153)
1 parent a091c5a commit 45a6cec

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

spec.bs

+27-1
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,33 @@ For now, see
15451545
<div algorithm>
15461546
The <dfn for=Observable method><code>finally(|callback|)</code></dfn> method steps are:
15471547

1548-
1. <span class=XXX>TODO: Spec this and use |callback|.</span>
1548+
1. Let |sourceObservable| be [=this=].
1549+
1550+
1. Let |observable| be a [=new=] {{Observable}} whose [=Observable/subscribe callback=] is an
1551+
algorithm that takes a {{Subscriber}} |subscriber| and does the following:
1552+
1553+
1. Run |subscriber|'s {{Subscriber/addTeardown()}} method with |callback|.
1554+
1555+
1. Let |sourceObserver| be a new [=internal observer=], initialized as follows:
1556+
1557+
: [=internal observer/next steps=]
1558+
:: Run |subscriber|'s {{Subscriber/next()}} method, given the passed in <var
1559+
ignore>value</var>.
1560+
1561+
: [=internal observer/error steps=]
1562+
:: 1. Run |subscriber|'s {{Subscriber/error()}} method, given the passed in <var
1563+
ignore>error</var>.
1564+
1565+
: [=internal observer/complete steps=]
1566+
:: 1. Run |subscriber|'s {{Subscriber/complete()}} method.
1567+
1568+
1. Let |options| be a new {{SubscribeOptions}} whose {{SubscribeOptions/signal}} is
1569+
|subscriber|'s [=Subscriber/subscription controller=]'s [=AbortController/signal=].
1570+
1571+
1. <a for=Observable lt="subscribe to an Observable">Subscribe</a> to |sourceObservable|
1572+
given |sourceObserver| and |options|.
1573+
1574+
1. Return |observable|.
15491575
</div>
15501576

15511577

0 commit comments

Comments
 (0)