Promise: then versus catch
Are these code fragments equal? In other words, do they behave the same way in any circumstances, for any handler functions?
The short answer is: no, they are not the equal:
The difference is that if an error happens in
f1, then it is handled by
…But not here:
That’s because an error is passed down the chain, and in the second code piece there’s no chain below
In other words,
.then passes results/errors to the next
.then/catch. So in the first example, there’s a
catch below, and in the second one – there isn’t, so the error is unhandled.