我有一個來自 Post 表單的 req.body,其中包含許多這樣的值
console.log(req.body)
{
productid:[1, 2, 3]
qty: [3, 5, 6]
}
我想創建一個 for 回圈并在 SQL 查詢中使用不同的值但是我被困在第一個查詢上,因為它是一個異步等待函式。
我的問題是如何使用 forloop 執行許多 sql 查詢并仍然使用 async await 函式?
uj5u.com熱心網友回復:
你可以這樣做:
for(let item of array) {
let res = await query(item)
}
uj5u.com熱心網友回復:
由于我只進行更新而不等待答案,因此我不需要使用 await async。當我洗掉異步/等待時它起作用了。
謝謝
抱歉問題不太清楚
uj5u.com熱心網友回復:
如果您想并行執行它們,您可以創建一個承諾陣列并使用 Promise.all 等待所有操作完成,這樣您就可以優化您的代碼,而不是按順序執行。
const operations = []
for(let item of array) {
operations.push(query(item))
}
const result = await Promise.all(operations)
//Do wherever you want with your results.
為了執行您的代碼,必須使用 async 關鍵字宣告處理請求的函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/448914.html
標籤:javascript sql 表示 异步 异步等待
