以下は、await を使用した非同期呼び出しを含む私のコード スニペットです。
let reccData = []
for (const uniformId of uniformCollectionIds) {
let watchCreatives = await CreativeCollection.findById(uniformId);
if(watchCreatives.isActive){
let recommendations = await ReccService.fetchReccSeries(watchCreatives.reccNo);
if(recommendations){
reccData.push({reccNo:recommendations.reccNo, watchList:recommendations.watchListId,...})
}
}
}
Logistics.insertMany(reccData).then(() => {
//My other business logic goes here
});
ReccService.ts
public fetchReccSeries = async (reccNo:number) => {
let getRecc = await Recc.findByNumber(reccNo)
if(getRecc){
return getRecc
}
};
await ReccService.fetchReccSeries
上記のコードの問題は、for..of
移動から次の反復への応答を取得する前であってもです。上記は単なるコード スニペットであり、順次実行したい理由は、多くのカウンター/インクリメンタル ロジックがそれに基づいているためです。
私が試したこと
約束の.then({})
確認ですが、それでも同じように動作します。
の先頭await
にfor..of
for await (const uniformId of uniformCollectionIds) {
試すPromise.All
ことは私の範囲外です
私が期待していること:
各反復内のすべての実行が完了するまで、次の反復は呼び出されません。