This PR specs the finally() operator. Mirroring the finally keyword, its semantics are such that on both producer-initiated and consumer-initiated unsubscription, the finally operator's callback runs. The only remaining open question about this operator has to do with subtle timing between the finally() operator and source Observable teardown execution. See https://github.com/WICG/observable/issues/151 for discussion there. I don't think that needs to block this PR, but it does need to resolve one way or another.
This PR specs the
finally()
operator. Mirroring thefinally
keyword, its semantics are such that on both producer-initiated and consumer-initiated unsubscription, the finally operator's callback runs. The only remaining open question about this operator has to do with subtle timing between the finally() operator and source Observable teardown execution. See https://github.com/WICG/observable/issues/151 for discussion there. I don't think that needs to block this PR, but it does need to resolve one way or another.Tests are being landed in https://chromium-review.googlesource.com/c/chromium/src/+/5654720.
Preview | Diff