'How to use Promise.prototype.finally() in async/await syntax?
Actually my main question was using Promise.prototype.catch()
in async/await
ES8
syntax, Undoubtedly Promise.prototype.then()
is existed in essence of async/await
syntax.
I searched about using Promise.prototype.catch()
in async/await
and found this:
async () => {
try {
const result1 = await firstAsynchronousFunction();
const result2 = await secondAsynchronousFunction(result1);
console.log(result2);
} catch(err) {
throw new Error(`Something failed`);
}
}
And absolutely I knew about Promise
chaining, like:
new Promise((resolve) => {
console.log(`Initial`);
resolve();
})
.then(() => {
console.log(`Task Number One`);
})
.catch(() => {
console.log(`Task in Error`);
})
.finally(() => {
console.log(`All Tasks is Done`);
})
So, my question is how I can use finally
in async/await
syntax?
Solution 1:[1]
this should work:
async () => {
try {
const result1 = await firstAsynchronousFunction();
const result2 = await secondAsynchronousFunction(result1);
console.log(result2);
} catch(err) {
throw new Error(`Something failed`);
} finally {
console.log(`All Tasks are Done`);
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |