invocação de função assíncrona dentro de loops em javascript
javascript a natureza assíncrona pode apresentar desafios ao invocar as funções assíncronas dentro de loops. Considere o seguinte código:
for(var i = 0; iA questão está na função de retorno de chamada assíncrona, que pode ser executada após o loop for concluído. Consequentemente, do_something (i) sempre fará referência à iteração final do loop. x}) (i))
No entanto, essa abordagem também falha porque a função é executada imediatamente, resultando no mesmo problema. Como cada retorno de chamada tem seu próprio escopo, o valor do índice é preservado. mc_cli.get (listItem, function (err, resposta) { do_something (índice); }); }); utilizando foreach, as funções de retorno de chamada agora têm acesso ao valor correto do índice para cada iteração, resolvendo a questão do índice incorreto que está sendo referenciado na função do_something.
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