Ability to exit a Step chain before finishing all registered steps #43
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.
I started to convert all the asynchronous calls of a project I'm currently working on to use Step.
Everything worked perfectly. However we had some problems in the following use case:
We need to perform three asynchronous calls to a database before we did some calculations.
Sometimes, during the second async call, an error would occur and we needed to stop executing and send a message back to the client.
The problem was that if we returned from the function that caught the error, it would go on to execute the next Step call. We wanted to stop the execution completely and send a response back to the client indicating the error.
The proposed patch adds a new function to the |next| object.
The exitChain function clears the array with the registered Step calls, thus stopping the execution whenever exitChain is called.
I also added a unit test to check the new feature.