diff --git a/spec.bs b/spec.bs index d60fbfa..a6e3845 100644 --- a/spec.bs +++ b/spec.bs @@ -1545,7 +1545,33 @@ For now, see
finally(|callback|) method steps are:
- 1. TODO: Spec this and use |callback|.
+ 1. Let |sourceObservable| be [=this=].
+
+ 1. Let |observable| be a [=new=] {{Observable}} whose [=Observable/subscribe callback=] is an
+ algorithm that takes a {{Subscriber}} |subscriber| and does the following:
+
+ 1. Run |subscriber|'s {{Subscriber/addTeardown()}} method with |callback|.
+
+ 1. Let |sourceObserver| be a new [=internal observer=], initialized as follows:
+
+ : [=internal observer/next steps=]
+ :: Run |subscriber|'s {{Subscriber/next()}} method, given the passed in value.
+
+ : [=internal observer/error steps=]
+ :: 1. Run |subscriber|'s {{Subscriber/error()}} method, given the passed in error.
+
+ : [=internal observer/complete steps=]
+ :: 1. Run |subscriber|'s {{Subscriber/complete()}} method.
+
+ 1. Let |options| be a new {{SubscribeOptions}} whose {{SubscribeOptions/signal}} is
+ |subscriber|'s [=Subscriber/subscription controller=]'s [=AbortController/signal=].
+
+ 1. Subscribe to |sourceObservable|
+ given |sourceObserver| and |options|.
+
+ 1. Return |observable|.