As an update to this post, I recognized that in the tap() the complete: function can't be guaranteed to run for many different reasons. See the RxJS docs for the information on error and how to handle them asynchronously.
github.com/Reactive-Extensions/RxJ...
I decided to change the code for action button to use the finalize instead since we always want the function to reset the button state.
finalize(() => { setTimeout( () => { this.status = null as any; }, this.status === Result.SUCCESS ? 2000 : 3000 ); })
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
As an update to this post, I recognized that in the tap() the complete: function can't be guaranteed to run for many different reasons. See the RxJS docs for the information on error and how to handle them asynchronously.
github.com/Reactive-Extensions/RxJ...
I decided to change the code for action button to use the finalize instead since we always want the function to reset the button state.