【Node.js】Promiseのresolve/reject では処理は終了しない
【Node.js】Promiseのresolve/reject では処理は抜けない
ハマったことなので、メモ。
タイトルの通りで、return文的な挙動をする認識で書いたら、思ったように動かなくてハマった。 resolve・rejectでPromiseを解決したら、もうそれより後の行は実行されないと思っていた。
var someFunc = () => { return new Promise((resolve, reject) => { reject(); console.log("この行は実行されないでしょう..."); // ←実行される }); } async function main() { var e = await someFunc() .then( res => console.log("OK")) .catch(e => console.log(e)); } main();
だが実際は違い、resolve() reject()しても続きの行は実行されて、意図しない動作をしてしまった。 return文 / throw文的な使い方をしていたので実行されないと思っていた。
promise resolve reject 後の処理
でググったら最初に出てきたが、初心者は引っかかるポイントなのだろうか。🤔