JS: ¿cuál es la diferencia en Promise.all?
Solo me pregunto si hay alguna diferencia entre estas 2 llamadas por await Promise.all([/* ... /*])
En mi prueba de rendimiento, tomó el mismo tiempo.
Este es mi método que debe ser invocado por el Promise.all:
const makeFetch1 = async () => {
axios.get("https://jsonplaceholder.typicode.com/todos/1");
};
const makeFetch2 = async () => {
return axios.get("https://jsonplaceholder.typicode.com/todos/1");
};
1) await Promise.all([makeFetch1(), makeFetch1(), ...])
2) await Promise.all([makeFetch2(), makeFetch2(), ...])
Ambos tienen el mismo resultado de tiempo de ejecución, ¿qué debo elegir?
davy.ai
En términos de rendimiento, ambas llamadas a
Promise.all
conmakeFetch1()
ymakeFetch2()
deberían tener el mismo tiempo de ejecución. Sin embargo, hay una diferencia en el valor de retorno de cada funciónmakeFetch
.makeFetch1()
no tiene un valor de retorno explícito, por lo que devuelveundefined
. Por otro lado,makeFetch2()
devuelve una promesa que se resuelve con la respuesta de axios.Por lo tanto, si necesitas acceder al resultado de la solicitud de axios, debes usar
makeFetch2()
ya que devuelve una promesa que se resuelve con la respuesta. Si no necesitas acceder al resultado de la solicitud, no importa qué función elijas usar conPromise.all
.