fix: Avoid re-raising exception that occur in then callbacks. #13
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.
@eapache for review
Problem
Exceptions that were occurring in
.then
blocks were being re-raised, rather than just causing the returned promise to be rejected. If.then
is called on a promise multiple times and an exception occurs in one of the callbacks, then that would prevent additional callbacks from being called.This behaviour does not appear to be part of the promise spec, and a test with node shows this behaviour isn't consistent with javascript:
outputs
Solution
Remove the
raise
in the exception handler, fix the existing tests that asserted this behaviour, and add a new test to make sure the exception doesn't prevent additional callbacks from being called.