[解決済み] Node.jsがコールバック待ちで終了するのを防ぐには?
2022-11-14 03:49:36
質問
このようなコードを持っています。
var client = new mysql.Client(options);
console.log('Icanhasclient');
client.connect(function (err) {
console.log('jannn');
active_db = client;
console.log(err);
console.log('hest');
if (callback) {
if (err) {
callback(err, null);
}
callback(null, active_db);
}
});
私の問題は、私がそれを実行したときにNodeがすぐに終了することです。Icanhasclient'は表示されますが、コールバック内のconsole.logのどれも呼び出されません。
(この例でのmysqlは ノードmysql .
node.jsが終了する前にコールバックの完了を待つようにするためにできることはありますか?
どのように解決するのですか?
コールバックがキューに入らない
ノードはすべてのイベント キュー が空になるまで実行されます。コールバックはイベント キュー のような呼び出しがあったときに
emmiter1.on('this_event',callback).
が実行されました。この呼び出しは、モジュール開発者によって書かれたコードの一部です .
モジュールが同期/ブロック版からのクイックポートの場合、操作の一部が完了するまでこの呼び出しは起こらないかもしれませんし、その前にすべてのキューが空になり、nodeが静かに終了する可能性があります。
これは卑劣なバグで、モジュール開発者が開発中に遭遇しないかもしれないもので、多くの キュー を持つ忙しいシステムではあまり発生しないからです。
ユーザーのための可能な修正/バグ検出は、疑わしい関数呼び出しの前に特別なタイマー イベントを挿入することです。
関連
-
[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み] (node:63208) DeprecationWarning: collection.ensureIndex は非推奨です。代わりにcreateIndexesを使用してください [重複]。
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] ブラウザで動作しているURLで「connect ETIMEDOUT」エラーが発生する原因は何ですか?
-
[解決済み] joiライブラリを使用して2つの時間を比較する方法
-
[解決済み] ReferenceError: describe は定義されていません NodeJs
-
[解決済み] バルク更新を行う。
-
[解決済み] JavaScriptの変数のスコープとは何ですか?