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

160
Vistas
¿Cómo la devolución de llamada y la promesa logran la propiedad asíncrona en javascript?

Tengo una duda de que JavaScript es un lenguaje de programación síncrono de un solo subproceso. y solo tiene One Callstack. Entonces, ¿cómo la devolución de llamada y la promesa logran la propiedad de Asycrones?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

ellos no Las devoluciones de llamada y las promesas no hacen que nada sea asíncrono. En cambio, las devoluciones de llamada y las Promesas son patrones de diseño que permiten que las funciones asincrónicas interactúen con el resto de su código.

Los siguientes son dos ejemplos de devoluciones de llamada, uno es síncrono, uno es asíncrono:

 function a (input, callback) { callback(input * 2); } function b (input, callback) { setTimeout(() => callback(input *2), 100); } console.log('start!'); a(100, x => console.log(x)); b(1000, x => console.log(x)); console.log('end!');

La salida debe ser:

 start! 200 end! 2000

Las devoluciones de llamada no hacen que nada sea asíncrono, pero es una técnica que permite que el código asíncrono interactúe con otras partes de su código.

Las promesas reprograman su devolución de llamada .then() porque esa es la forma en que fue diseñada. Pero todo lo que hace es ejecutar .then() al final de su código. Eso es todo lo que hace, no ejecuta la devolución de llamada .then() en un hilo separado.

¿Cómo ejecuta su código más tarde? Bueno, tu código es una función. Simplemente lo llama más tarde. ¿Cómo se llama después? Simplemente agrega su función a una lista de cosas que deben hacerse más adelante. Al final de su código, el intérprete verificará esta lista (o listas) para ver si necesita hacer algo. Esta parte del código que verifica si es necesario ejecutar algo se llama bucle de eventos. Las cosas en la lista/listas que deben verificarse se denominan "tareas" o "microtareas" en la documentación.

Las funciones asíncronas son asíncronas. Se implementan usando C/C++. Entonces, si una pieza de código C/C++ usa subprocesos o señales o E/S asíncrona, puede dejar que el intérprete de javascript espere los resultados asíncronos usando devoluciones de llamada de javascript (simplemente acepta una función de javascript que llamará más tarde) o promesas (devuelve un objeto Promise de javascript).

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