Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

361
Vistas
¿Por qué en este ejemplo de mdn cada función interna toma los parámetros de la función anterior (principal) como entrada?

en este ejemplo de MDN , se intenta mostrar qué es una cadena asíncrona si usamos devoluciones de llamada asíncronas de estilo antiguo con una analogía de los pasos a seguir para comer una pizza.

 chooseToppings(function(toppings) { placeOrder(toppings, function(order) { collectOrder(order, function(pizza) { eatPizza(pizza); }, failureCallback); }, failureCallback); }, failureCallback);

¿Por qué en cada paso, el parámetro de funciones anteriores se pasó como argumento a la función interna? y ¿por qué no proporcionan ningún código dentro de cada función? ¿Es este el siguiente código mejor?

 chooseToppings(function(toppings) { //some work with toppings placeOrder(function(order) { //some work with order collectOrder(function(pizza) { eatPizza(pizza); }, failureCallback); }, failureCallback); }, failureCallback);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay dos ideas principales aquí:

  • toppings no es un parámetro de chooseToppings , sino su valor de resultado. No es un valor de return , sino que se pasa de forma asíncrona a la devolución de llamada que recibe chooseToppings . Entonces, chooseToppings produce toppings , placeOrder(toppings) produce un order y collectOrder(order) produce una pizza .
  • Cada función depende del resultado de la función anterior. No se puede hacer un pedido sin conocer los ingredientes. Estas dependencias se hacen explícitas pasando por el valor en lugar de ser contextuales. Si no tuviera estas dependencias, podría simplemente llamar a todas las funciones a la vez, sin esperar resultados asincrónicos.

¿Por qué no proporcionan ningún código dentro de cada función?

Debido a que estas son solo funciones de ejemplo, su implementación no importa. Puede suponer que placeOrder hace todo el // work with toppings , sea lo que sea; la guía solo se ocupa de cómo se llaman estas funciones asincrónicas en secuencia.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda