"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 > Como evitar promessas de jQuery em funções encadeadas enquanto mantém operações assíncronas?

Como evitar promessas de jQuery em funções encadeadas enquanto mantém operações assíncronas?

Publicado em 2024-11-06
Navegar:195

How to Avoid jQuery Promises in Chained Functions While Maintaining Async Operations?

Evitando promessas de jQuery em funções encadeadas

Apesar das recomendações para evitar promessas de jQuery, os desenvolvedores podem enfrentar desafios ao encadear funções jQuery assíncronas sem usar jQuery prometem mecanismos de manipulação como .then() ou .when(). Para resolver isso, considere a seguinte abordagem:

as promessas do jQuery são interoperáveis ​​com as promessas do JavaScript. Isso significa que você pode misturá-los e combiná-los em seu código sem problemas. Todas as bibliotecas respeitáveis ​​e promessas nativas aceitam thenables de qualquer implementação. Como resultado, na maioria dos casos, você pode codificar como se todas as suas promessas estivessem usando a mesma implementação.

No entanto, se você precisar garantir que todas as chamadas .then() usem sua implementação preferida ou implementem não- recursos padrão, é essencial lançar explicitamente todas as promessas nas quais você invoca métodos diretamente. Por exemplo:

Promise.all([$.ajax(...), $.ajax(...)]) // Just works (native `then`)
$.ajax(...) // jQuery promise
Promise.resolve($.ajax(...)) // Explicit cast
.then(function(data) { // Native `then`
  return $.ajax(...); // Just works
})
.catch(...) // Use features of native promise

Lembre-se, misturar promessas jQuery e JavaScript geralmente não é um problema, mas se você precisar de controle explícito sobre a implementação, use a abordagem de conversão explícita.

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