ここで私のデータベースの一部のドキュメント(MongoDB)を更新しようとしているコード forループを使用しています。しかし、私はループが完了した後、次のコードを実行したい、たとえば、 、私はいくつかの変数を使用したいループの中で計算された後に計算されます。 コールバック、約束などを使って、どうすればいいですか?ノードjs、ループ後にコード同期を実行する方法
numPktUpdated = 0;
for (key in InvoicesPUT) {
Invoice.findOneAndUpdate({ InvoiceNumber: InvoicesPUT[key].InvoiceNumber }, InvoicesPUT[key]).exec()
.then((doc) => {
console.log("Update Succeeded")
numPktUpdated = numPktUpdated + 1;
})
.catch((err) => {
return resp.send(JSON.stringify({
"status": "error",
"message": "DB Error while Updating: Wrong Packet"
}));
console.log(err);
})
}
resp.send(numPktUpdated);
ここでnumPktUpdated = 0がクライアントに送信されますが、ループ後の実際の値は他のものです。
ありがとうございました。
は、アクションを実行するためにasync.series' 'を見て – ValLeNain