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