0

以下は、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({})確認ですが、それでも同じように動作します。

の先頭awaitfor..of

for await (const uniformId of uniformCollectionIds) {

試すPromise.Allことは私の範囲外です

私が期待していること:

各反復内のすべての実行が完了するまで、次の反復は呼び出されません。

4

0 に答える 0