8

何かが起こったときにnode.jsアプリが死ぬための最もエレガントな方法を見つけようとしています。私の特定のケースでは、サーバーを起動して適切に構成する前に満たす必要のある特定の必須パラメーターを含む構成ファイルがあります。

これを行うために私が見つけた1つの方法は次のとおりです。

var die = function(msg){
    console.log(msg)
    process.exit(1);
} 

die('Test end');

このような状況に対処するためのより良い方法はありますか?

4

2 に答える 2

19

直後にconsole.error行う場合は、より適切に使用してください。process.exit

console.logは非ブロッキングであり、メッセージを書き込みキューに入れます。この場合、メッセージは次の理由で処理されません。exit()

更新:console.log最新バージョンでもブロックします(少なくとも0.8.x以降)。

于 2011-07-16T00:58:31.953 に答える
0

突然終了したい場合は、これで問題ありません。クリーンアップを実行する場合は、最初にクリーンアップを実行する必要があります。その後、イベントループの実行を維持するものがないため、node.jsはおそらく停止します。

于 2011-07-16T00:08:21.683 に答える