-
-
Save ibratoev/3723891d81b98b94f7dec04b979164ff to your computer and use it in GitHub Desktop.
| const shouldReturnPromise = () => { throw "test"; } | |
| const withAsyncAwait = async () => { | |
| try { | |
| await shouldReturnPromise() | |
| } catch (e) { | |
| console.log('Handled: ' + e) | |
| } | |
| } | |
| const withPromise = async () => { | |
| shouldReturnPromise().then(null, () => console.log('Not Handled!')); | |
| } | |
| console.log(withAsyncAwait()); | |
| console.log(withPromise()); |
And in this case, you actually catch with Promise: https://codepen.io/jacktheripper-the-sans/pen/vjEdqw
In a perfect world it would not make a difference.
From what I've seen in reality, it is hard to make sure you always return promises and not throw errors without using async/await.
I understand that this is corner case (hence the title with not well behaving functions) ;) But it just makes me feel safer using async/await.
They try-catch on their side, so no needs for one more I think
My example was for the general discussion not for the particular case ;)
Yes, sure. But since the discussion has been running for the whole afternoon, I just wanted to make sure that we are aligned on how the current code behave and why try-catch wouldn't be required in that case because Promise.catch would have the same effect
Totally aligned 👍 The current code was moved from the Hype project. I would use async/await as I find it safer and simpler.
So, I reviewed our code and our
requestmodule from the core. The correct example should be: