2
我有以下代码。我期望的输出:开始,中间,中间,结束NodeJs - 异步/待机异步/等待
,而是我得到这个开始,中间,结尾,中间
(FYI价格阵列在我的例子中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);
仍然是相同的输出....我改,你说“等待新的交通运输(OBJ)”到“回归新的交通运输(OBJ) “ – Michalis
在我看来,'Transport#save()'不会返回承诺,在这种情况下,您需要用'Promise'构造函数来包装它,因为它是一个回调式API,或者参考文档这也许可以解释如何返回一个承诺。 –
这是正确的...它没有回报承诺。我用承诺包装它,现在很好。谢谢 – Michalis