[解決済み] Javascriptで非同期タスクが完了するのを待つ最も簡単な方法とは?
2022-10-31 15:53:44
質問
私はいくつかのmongodbコレクションを削除したいのですが、それは非同期タスクです。コードは次のようになります。
var mongoose = require('mongoose');
mongoose.connect('mongo://localhost/xxx');
var conn = mongoose.connection;
['aaa','bbb','ccc'].forEach(function(name){
conn.collection(name).drop(function(err) {
console.log('dropped');
});
});
console.log('all dropped');
コンソールに表示されます。
all dropped
dropped
dropped
dropped
を確認する最も簡単な方法は何ですか?
all dropped
が表示されるようにする最も簡単な方法は何ですか?コードを簡略化するために、任意のサードパーティを使用することができます。
どのように解決するのですか?
私はあなたが使用している参照してください
mongoose
を使用しているので、サーバーサイドのJavaScriptについて話しているのでしょう。その場合、私は
非同期モジュール
を使い
async.parallel(...)
. このモジュールは、あなたが悩んでいる問題を解決するために開発されたもので、本当に役に立つと思います。あなたのコードは次のようになるかもしれません。
var async = require('async');
var calls = [];
['aaa','bbb','ccc'].forEach(function(name){
calls.push(function(callback) {
conn.collection(name).drop(function(err) {
if (err)
return callback(err);
console.log('dropped');
callback(null, name);
});
}
)});
async.parallel(calls, function(err, result) {
/* this code will run after all calls finished the job or
when any of the calls passes an error */
if (err)
return console.log(err);
console.log(result);
});
関連
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] 文字列が有効な数値であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] javascriptでの配列の交差のための最も簡単なコード
-
[解決済み] JavaScript, Node.js: Array.forEachは非同期なのか?
-
[解決済み】一部の約束が拒否されても、すべての約束が完了するまで待つ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法