ネットワーク操作を実行するモジュールを node.js に作成しました。このモジュール (以下の変数) を使用する小さなスクリプトを作成しましたcheck
。次のようになります。
check(obj, function (err, results) {
// ...
console.log("Check completed");
});
ここで興味深いのは次のとおりです。このコードがテストの一部として実行されるとmocha
、テストは期待どおりに終了します。ログ ステートメントが表示され、プロセスが終了します。
コードがスタンドアロン ノード スクリプトとして実行されると、ログ ステートメントが出力されますが、プロセスはハングするだけです。
デバッグしようとして、 を使用してプログラムを開始し、 を--debug-brk
使用するとnode-inspector
、早期に終了します! process.on 'exit'
と呼ばれていることが分かります。モジュール内のいくつかの内部コールバックがまだ呼び出されていない間に終了します。したがって、上記のログ ステートメントも出力されません。
私は今立ち往生しており、なぜこれが起こっているのかわかりません。誰かが同様の行動を見たことがありますか?