概要 Node.jsに限らず、ローカル実行向けのプログラムと作っていると、度々コマンドをチェーンして実行する必要が出てきます。 その際、処理を実行していいかの判断には、終了ステータスコードを利用すると思います。 そんな終了ステータスコードが、現状async functionだと想定外の動作になっており、やらかしそうになった話です。 読者対象 Node.jsでローカル実行向けプログラムを作成し、コマンドをチェーン実行する方。 lesson 前提 npm startを実行し、index.jsで例外を発生させ、badend.jsが実行されないことを確認していきます。 { "name": "asyncexit", "description": "exit status of code", "scripts": { "start": "node index.js && node badend.js"