JavaScript é uma linguagem de thread único, o que significa que só pode fazer uma coisa por vez. No entanto, os aplicativos da web geralmente precisam executar tarefas como buscar dados de um servidor, o que pode levar algum tempo. Se o JavaScript tivesse que esperar a conclusão de cada tarefa antes de prosseguir, seu aplicativo da web ficaria lento e sem resposta. É aqui que entra o JavaScript assíncrono (assíncrono).
O JavaScript assíncrono permite que seu código inicie uma tarefa e depois passe para outras tarefas enquanto aguarda a conclusão dessa tarefa. Assim que a tarefa for concluída, seu código pode voltar e tratar o resultado. Isso ajuda a manter seu aplicativo rápido e responsivo.
Síncrono vs. Assíncrono:
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
No código síncrono, a mensagem "End" só será registrada após a conclusão de someFunction(), o que pode tornar as coisas mais lentas.
Assíncronas: as tarefas podem começar e terminar de forma independente, para que seu código não fique preso esperando. Por exemplo:
console.log("Start"); setTimeout(() => { console.log("End"); }, 2000);
Aqui, a mensagem "Fim" será registrada após 2 segundos, mas enquanto isso, seu código pode continuar fazendo outras coisas.
Retornos de chamada:
function fetchData(callback) { setTimeout(() => { let data = "Some data"; callback(data); }, 2000); } fetchData((data) => { console.log(data); // This will log "Some data" after 2 seconds });
Promessas:
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); });
Assíncrono/Aguardar:
async function fetchData() { try { let data = await someAsyncTask(); console.log(data); } catch (error) { console.error("Error:", error); } }
Compreender o JavaScript assíncrono é essencial para criar aplicativos da Web responsivos e eficientes, pois permite que seu código execute tarefas sem ficar preso esperando a conclusão de operações lentas.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3