検討:
node -e "setTimeout(function() {console.log('abc'); }, 2000);"
これは実際には、プログラムが終了する前にタイムアウトが発生するのを待ちます。
これは、ノードが終了する前にすべてのタイムアウトが完了するのを待つことを意図していることを意味するかどうか、基本的に疑問に思っています。
これが私の状況です。私のクライアントには、ショートカット アイコンを使用して Windows から実行する node.js サーバーがあります。ノード アプリが例外的な状況に遭遇した場合、通常は即座に終了し、コンソールでエラーの内容を確認するのに十分な時間が残されません。これは悪いことです。
私のアプローチは、プログラム全体を try catch でラップすることです。したがって、次のようになります: try { (function () { ... })(); } catch (e) { console.log("EXCEPTION CAUGHT:", e); }
、しかしもちろん、これによりプログラムがすぐに終了することにもなります。
したがって、この時点で、終了する前に、ユーザーが例外のプレビューまたはスクリーンショットを取得できるように、約 10 秒残しておきます。
npm モジュールを介してブロッキングを使用するだけでよいと思いsleep()
ますが、テストでタイムアウトの設定も機能しているように見えることがわかりました。(つまり、組み込みの何かが機能する場合、なぜモジュールを気にするのですか?)これの重要性は大きくないと思いますが、そのノードが終了する前にすべてのタイムアウトが完了するのを実際に待機する場所に指定されているかどうかに興味があります。こうすることで安心できます。