"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Quando os retornos de chamada de JavaScript são assíncronos?

Quando os retornos de chamada de JavaScript são assíncronos?

Publicado em 2024-11-03
Navegar:629

When Are JavaScript Callbacks Asynchronous?

Retornos de chamada JavaScript: assíncronos ou não?

Retornos de chamada JavaScript não são universalmente assíncronos. Em certos cenários, como o exemplo que você forneceu com as funções addOne e simpleMap, o código opera de forma síncrona.

JavaScript assíncrono no navegador

Funções AJAX baseadas em retorno de chamada em jQuery geralmente são assíncronos porque envolvem solicitações XHR (XMLHttpRequest). Por padrão, as solicitações XHR nos navegadores são assíncronas, permitindo a execução contínua do script enquanto a solicitação está sendo processada.

JavaScript assíncrono em Node.js

Em Node.js, o comportamento assíncrono geralmente surge de operações de entrada/saída (E/S), como E/S de arquivo, process.nextTick, setTimeout e setInterval. As chamadas de banco de dados baseadas em retorno de chamada com MongoDB/Mongoose são assíncronas devido às operações de E/S subjacentes envolvidas na interação com o banco de dados. enraizado no ambiente. No navegador, as funções de retorno de chamada associadas às solicitações XHR são inerentemente assíncronas. No Node.js, os retornos de chamada vinculados a operações de E/S também são assíncronos.

Funções assíncronas personalizadas

Sem depender apenas de funções ambientais específicas, você pode obter um comportamento assíncrono aproveitando as promessas do ES6. As promessas fornecem um mecanismo em nível de linguagem para definir operações assíncronas. As funções de retorno de chamada anexadas às promessas (via then e catch) são sempre executadas de forma assíncrona, garantindo que o código que segue a promessa não seja bloqueado.

Declaração de lançamento Este artigo foi reimpresso em: 1729388836 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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