実際、私の主な質問は_async/await
_ _ES8
_構文でPromise.prototype.catch()
を使用することでしたが、確かにPromise.prototype.then()
は_async/await
_構文の本質で存在します。
_async/await
_でPromise.prototype.catch()
の使用について検索したところ、次のことがわかりました。
_async () => {
try {
const result1 = await firstAsynchronousFunction();
const result2 = await secondAsynchronousFunction(result1);
console.log(result2);
} catch(err) {
throw new Error(`Something failed`);
}
}
_
そして、私はPromise
チェーンについて次のように絶対に知っていました:
_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`);
})
_
だから、私の質問はfinally
を_async/await
_構文で使用する方法ですか?
これはうまくいくはずです:
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 is Done`);
}
}