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.
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