Browse Source

fix: 使用for循环替换forEach中使用async await没有解决异步任务的bug。

lanjianrong 4 years ago
parent
commit
71ae648c0e
1 changed files with 9 additions and 3 deletions
  1. 9 3
      app/service/advance.js

+ 9 - 3
app/service/advance.js

@@ -117,12 +117,18 @@ module.exports = app => {
             }
             const record = await this.db.insert(this.tableName, { type, uid, tid, status: auditConst.status.uncheck, order: latestOrder.order, prev_amount: latestOrder.prev_total_amount, prev_total_amount: latestOrder.prev_total_amount });
             const auditors = await ctx.service.advanceAudit.getAuditGroupByList(latestOrder.id, latestOrder.times);
-            auditors.forEach(async (auditor, idx) => {
-                const { audit_id } = auditor;
+            for (let idx = 0; idx < auditors.length; idx++) {
+                const { audit_id } = auditors[idx];
                 await ctx.service.advanceAudit.db.insert(ctx.service.advanceAudit.tableName, {
                     tid: latestOrder.tid, audit_id, type: latestOrder.type, vid: record.insertId, times: 1, order: idx + 1, status: 1, create_time: new Date(),
                 });
-            });
+            }
+            // auditors.forEach(async (auditor, idx) => {
+            //     const { audit_id } = auditor;
+            //     await ctx.service.advanceAudit.db.insert(ctx.service.advanceAudit.tableName, {
+            //         tid: latestOrder.tid, audit_id, type: latestOrder.type, vid: record.insertId, times: 1, order: idx + 1, status: 1, create_time: new Date(),
+            //     });
+            // });
             return await this.getDataById(record.insertId);
         }