我有以下代码。我期望的输出是:START,Middle,Middle,END
但我得到了这个START,Middle,END,Middle (FYI,我的示例中prices数组有2个值)
但我得到了这个START,Middle,END,Middle (FYI,我的示例中prices数组有2个值)
console.log("START");
await Promise.all(prices.map(async(price) => {
let obj: any = {};
obj.normal = price.normal;
await new Transport(obj).save(async (err: any, doc: any) => {
console.log("Middle");
price.transport_id = doc._id;
});
}));
console.log("END");
console.log(prices);
Transport#save()
方法没有返回一个 Promise,因此你需要使用Promise
构造函数将其包装起来,因为它是一个回调式的 API,或者参考文档,文档中可能会解释如何返回一个 Promise。 - Patrick Roberts