es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    En términos de rendimiento, ambas llamadas a Promise.all con makeFetch1() y makeFetch2() deberían tener el mismo tiempo de ejecución. Sin embargo, hay una diferencia en el valor de retorno de cada función makeFetch.

    makeFetch1() no tiene un valor de retorno explícito, por lo que devuelve undefined. 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 con Promise.all.

Comments are closed.