Promise.all(), map() con función de devolución de llamada da error 404 en .catch (err => {}) en Reactjs.
Podría llamar al punto final y obtener la respuesta, pero terminaría obteniendo el siguiente error 404 en la devolución de llamada. la solicitud de error falló con el código de estado 404 en createerror
Cualquier sugerencia de cómo se debe manejar esta lógica.
Nota: Si elimino el parámetro de consulta de Axios (+ '?nbr=' + data.id) funciona bien.... !!??
useEffect(() => { const url_endpoint = `${url}/getData` if (data != null) { Promise.all( data.map(async (data) => Axios.get(url_endpoint + '?nbr=' + data.id, { headers: { timestamp: 1111 } }) .then(response => { const { data } = response if (response.status) { responseCode = response.status } setLog({ 'status': 'success'}) callback({ error: false, data }) }) .catch(err => { if (err.response) { responseCode = err.response.status } setLog({'status': 'error'}) error({ 'responseCode': responseCode }) callback({ APIError: true }) }) ) } }, [])Es posible que desee utilizar Promise.allSettled()
El método
Promise.allSettled()devuelve una promesa que se resuelve después de que todas las promesas dadas se hayan cumplido o rechazado , con una matriz de objetos que describen el resultado de cada promesa.
const promise1 = Promise.resolve(3); const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo')); const promises = [promise1, promise2]; Promise.allSettled(promises). then((results) => results.forEach((result) => console.log(result.status))); // expected output: // "fulfilled" // "rejected"