이 자습서는 비동기 작업 관리를위한 강력한 도구 인 JavaScript 약속을 탐색합니다. 우리는 약속 창출, 체인, 오류 처리 및 고급 방법을 다룰 것입니다.
비동기 작업 : 즉시 결과를 반환하지 않는 JavaScript 작업. 우아하게 다루겠다고 약속합니다.
약속 상태 : 약속은 세 가지 주에 존재합니다 : 보류 중 (초기),
(성공적인 완료) 및new Promise((resolve, reject) => { ... })
약속하기 전에 콜백은 비동기 작업에 사용되었습니다. 중첩 된 콜백 (콜백 지옥)은 복잡하고 관리하기 어려운 코드로 이어졌습니다. 약속은 더 깨끗하고 읽기 쉬운 대안을 제공합니다
resolve
약속 만들기 :
reject
.then()
약속 연쇄 :
.then()
.then()
.catch()
Promise.all([promise1, promise2, ...])
는 모든 약속이 해결 될 것을 기다립니다. 약속이 거부되면 거부합니다.
Promise.allSettled([promise1, promise2, ...])
: 는 첫 번째 결의 약속의 결과로 해결됩니다. 모든 약속이 거부되면 거부합니다
Promise.any([promise1, promise2, ...])
Promise.race([promise1, promise2, ...])
올바른 접근법 선택 :
콜백 : 간단한 비동기 작업에 적합합니다
약속 : async/await
체인 및 오류 처리가 필요한 복잡한 비동기 작업에 이상적입니다.
는 약속으로 작업하기위한 클리너 구문을 제공하여 비동기 코드를 더 읽을 수 있도록합니다.
async/await
const myPromise = new Promise((resolve, reject) => { // Asynchronous operation (e.g., network request) setTimeout(() => { const success = true; // Simulate success or failure if (success) { resolve("Operation successful!"); } else { reject("Operation failed!"); } }, 1000); });
JavaScript 약속이란 무엇입니까? 비동기 작업의 최종 결과를 나타내는 대상. 약속이 어떻게 작동합니까?
그들은 보류중인 상태, 이행 및 거부 된 국가를 통해 전환합니다.async/await
약속으로 작업하기위한 더 깨끗한 구문입니다.
위 내용은 JavaScript 약속의 개요 - SitePoint의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!