我正在根據用戶輸入創建 MongoDB 記錄,然后對于創建的每個新物件,我將物件 ID 推送到一個陣列中。我的問題是最后一行中的 console.log 陳述句回傳空。所以我怎么能等待 forEach 執行結束,所以我有更新的 assetsArray,感謝任何幫助!這是我的代碼:
let assetsArray = [];
if (assets) {
JSON.parse(assets).forEach(asset => {
Image.create({
organization: organizationID,
imageName: asset.imageName,
imageDescription: asset.imageDescription ?? null,
imagePath: asset.imagePath
}).then(record => {
console.log(record)
assetsArray.push(record._id)
})
})
}
console.log(assetsArray)
uj5u.com熱心網友回復:
您可以將Promise.all 用于您的案例
const tasks = JSON.parse(assets).map(asset => {
return Image.create({
organization: organizationID,
imageName: asset.imageName,
imageDescription: asset.imageDescription ?? null,
imagePath: asset.imagePath,
})
});
Promise.all(tasks).then((records) => {
return records.map(record => {
console.log(record)
return record._id
})
}).then(assetsArray => {
console.log(assetsArray)
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504262.html
標籤:javascript 节点.js mongodb 异步 异步等待
