En realidad, estoy llamando a la función asignando una matriz
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) } })Pero antes de que se complete la llamada a la función updateOrderDetails para el primer elemento, se llama a la función createorder para el siguiente elemento y, por lo tanto, no puedo actualizar los datos adecuadamente.
UpdateOrderDetails hace una llamada a la 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)); };Entonces, donde sea que tenga escrita la función updateOrderDetails(artistId) , agréguele async .
async function updateOrderDetails(artistId) { ... // where ever you're using the return statement type await return await response }Pero para una mejor respuesta, debe mostrar qué hace la función updateOrderDetails, qué devuelve, qué llamadas API está haciendo.