【发布时间】:2022-01-18 00:27:18
【问题描述】:
其实我是通过数组映射来调用函数
let artistId = artist._id;
orderData.products.map((cartproduct, index) => {
const sendOrderData = {
product: cartproduct._id,
qty: cartproduct.qty,
};
createOrder(userId, sendOrderData).then((data) => {
if(data.error){
console.log(data.error)
}else{
updateOrderDetails(artistId,sendData).then((response) => {
if(response.error){
console.log(response.error)
}else{
console.log("done)
}
})
但是在对第一个元素完成 updateOrderDetails 函数调用之前,会为下一个元素调用 createorder 函数,因此我无法充分更新数据。
UpdateOrderDetails 进行 API 调用:
export const updateOrderDetailsOfArtist = (artistId, data) => {
return fetch(`${API}/artist/updateorderdetails/${artistId}`, {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify(data),
})
.then((response) => {
return response.json();
})
.catch((err) => console.log(err));
};
【问题讨论】:
-
也许使用
await? -
我怎么用,你能给我发个例子吗
-
await updateOrderDetails(artistId)... -
我应该把异步放在哪里?
标签: javascript arrays reactjs express