JavaScript es un lenguaje de subproceso único, lo que significa que solo puede hacer una cosa a la vez. Sin embargo, las aplicaciones web a menudo necesitan realizar tareas como recuperar datos de un servidor, lo que puede llevar algún tiempo. Si JavaScript tuviera que esperar a que finalice cada tarea antes de continuar, su aplicación web sería lenta y no respondería. Aquí es donde entra JavaScript asíncrono (asíncrono).
JavaScript asincrónico permite que su código inicie una tarea y luego pase a otras tareas mientras espera que se complete. Una vez finalizada la tarea, su código puede regresar y manejar el resultado. Esto ayuda a que tu aplicación sea rápida y receptiva.
Síncrono versus asíncrono:
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
En código síncrono, el mensaje "Fin" solo se registrará después de que se haya completado alguna Función(), lo que puede ralentizar las cosas.
Asincrónico: las tareas pueden comenzar y finalizar de forma independiente, para que su código no se quede atascado esperando. Por ejemplo:
console.log("Start"); setTimeout(() => { console.log("End"); }, 2000);
Aquí, el mensaje "Fin" se registrará después de 2 segundos, pero mientras tanto, tu código puede seguir haciendo otras cosas.
Devoluciones de llamada:
function fetchData(callback) { setTimeout(() => { let data = "Some data"; callback(data); }, 2000); } fetchData((data) => { console.log(data); // This will log "Some data" after 2 seconds });
Promesas:
let promise = new Promise((resolve, reject) => { let success = true; if (success) { resolve("Task completed successfully!"); } else { reject("Task failed!"); } }); promise.then((message) => { console.log(message); }).catch((error) => { console.log(error); });
Asíncrono/Espera:
async function fetchData() { try { let data = await someAsyncTask(); console.log(data); } catch (error) { console.error("Error:", error); } }
Comprender JavaScript asíncrono es esencial para crear aplicaciones web eficientes y con capacidad de respuesta, ya que permite que su código realice tareas sin quedarse atascado esperando a que se completen operaciones lentas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3