>  기사  >  웹 프론트엔드  >  비동기 작업을 유지하면서 연결된 함수에서 jQuery 약속을 피하는 방법은 무엇입니까?

비동기 작업을 유지하면서 연결된 함수에서 jQuery 약속을 피하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 12:20:30724검색

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

연결된 함수에서 jQuery Promise 피하기

jQuery Promise를 피하라는 권장 사항에도 불구하고 개발자는 jQuery Promise를 사용하지 않고 비동기 jQuery 함수를 연결할 때 문제에 직면할 수 있습니다. .then() 또는 .when()과 같은 jQuery의 약속 처리 메커니즘. 이 문제를 해결하려면 다음 접근 방식을 고려하세요.

jQuery Promise는 JavaScript Promise와 상호 운용 가능합니다. 이는 문제 없이 코드에서 이들을 혼합하고 일치시킬 수 있음을 의미합니다. 평판이 좋은 모든 라이브러리와 기본 약속은 모든 구현에서 thenable을 허용합니다. 결과적으로 대부분의 경우 모든 Promise가 동일한 구현을 사용하는 것처럼 코딩할 수 있습니다.

그러나 모든 .then() 호출이 선호하는 구현을 사용하는지 확인해야 하거나 비-구현을 구현해야 하는 경우 표준 기능을 사용하려면 메서드를 직접 호출하는 모든 Promise를 명시적으로 캐스팅하는 것이 중요합니다. 예를 들면 다음과 같습니다.

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

jQuery와 JavaScript Promise를 혼합하는 것은 일반적으로 문제가 되지 않지만 구현을 명시적으로 제어해야 하는 경우 명시적 캐스팅 접근 방식을 사용하세요.

위 내용은 비동기 작업을 유지하면서 연결된 함수에서 jQuery 약속을 피하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.