Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda