Me pregunto cuál es la mejor manera de realizar múltiples solicitudes de axios y volver a cargar la página una vez completada.
Si usa el camino a continuación, la página se volverá a cargar antes de que se completen todas las solicitudes de axios
const handleDeletePost= async (postId) => { //delete multiple posts let postToBeDeleted = selectedPostId; // it's an array containing the id of selected posts if (postToBeDeleted.length > 0) { postToBeDeleted.forEach(async (id) => { const response = await PostService.deletePost(id); console.log(response); }); window.location.reload(); // if I put it here, the page will reload before the delete completes } };Puede usar Promise.all para obtener solicitudes en paralelo sin esperar a que finalice cada una:
Además, primero debe esperar a que se complete y luego volver a cargar la página.
const handleDeletePost = async (postId) => { const postToBeDeleted = selectedPostId; if (postToBeDeleted.length > 0) { const promises = []; postToBeDeleted.forEach((id) => { promises.push(PostService.deletePost(id)); }); await Promise.all(promises).then((values) => { console.log(values); }); window.location.reload(); } };El problema parece ser que espera que cada iteración espere en cada iteración. Sin embargo, las funciones forEach y async no funcionan bien juntas. En su lugar, debe usar algo como Promise.all.