fix(bindNodeCallback): use scheduler on error in callback #2344
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
bindNodeCallback
with schedulers have different behaviour for errors from selector function and different for errors passed to callback. When selector throws, scheduler is used to schedule error as seen inhttps://github.com/ReactiveX/rxjs/blob/master/src/observable/BoundNodeCallbackObservable.ts#L160
Yet when error comes from error object passed to callback by input function, error is just passed to subscriber, ignoring current scheduler:
https://github.com/ReactiveX/rxjs/blob/master/src/observable/BoundNodeCallbackObservable.ts#L156
I decided to let scheduler send error, since for me personally it is more predictable behaviour, when scheduler is passed. But if I am wrong and all errors should be sent synchronously, let me know and I will switch that change in other direction. Either way there is some disparity here.
Have a great day.