JavaScript 비동기 조작 : 약속 및 비동기/상세한 설명
약속과 비동기/기다리는 것은 JavaScript가 비동기 작업을 처리하는 두 가지 방법입니다. 이 기사에서는 차이점, 장점 및 해당 시나리오를 설명합니다.
약속
정의 :
Promise 객체는 최종 완료 (또는 고장) 및 비동기 작동의 결과 값을 나타냅니다.
문법 :
주요 기능 : -
사용 성공적인 결과를 처리하려면 사용하십시오.
를 사용하여 오류를 처리합니다. -
chain Call 다중 비동기 연산을 사용할 수 있습니다.
장점 :
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("数据已获取");
}, 1000);
});
};
fetchData()
.then((data) => console.log(data))
.catch((error) => console.error(error));
로그인 후 복사
콜백 지옥보다 낫습니다 (체인 호출은 뒤로 콜백을 설정하는 것보다 명확합니다). -
<明> 명확한 오류는 <🎜 🎜>를 사용하십시오.
<挑> <<> 챌린지 : <🎜 🎜>
-
많은 약속이 처리되면 체인 호출은 여전히 읽기 어려울 수 있습니다 ( "Promise Hell"이라고 함).
.then()
<<> 체인에서 다중 를 호출 할 때 오류 처리에 추가주의가 필요할 수 있습니다. -
.catch()
Async/Await <🎜 🎜> <🎜 🎜>
-
<义 义> <<> 정의 :
.then()
async/await는 약속의 구문 설탕을 기반으로하므로 비동기 코드가 동기 코드처럼 보이게합니다.
<法 法> <<> 문법 : <🎜 🎜>
-
<键 键> <<> 주요 기능 : <🎜 🎜>
<键> <键> 키워드를 사용하여 약속의 기능을 선언하십시오.
<暂> 약속이 완료 될 때까지 실행을 중단하려면 <🎜 🎜>를 사용하십시오. -
<理> <🎜 🎜>를 사용하여 오류를 처리합니다.
.then()
-
<势 势> <<> 장점 : <🎜 🎜>
.catch()
<:> 코드 가독성 : <🎜 🎜> 체인 호출과 비교하여 문법은 명확하고 이해하기 쉽습니다.
디버그 : 디버깅 도구를 사용하면 Async/Await Code Single -Step 동기화 코드를 실행할 수 있습니다. -
<于> <<> 중앙 집중식 오류에 사용됩니다.
<挑> <<> 챌린지 : <🎜 🎜>
-
<声> 문의 기능에 사용해야합니다.
순환 또는 시퀀스 비동기 호출에서 처리되지 않으면 때때로 장애물로 이어질 수 있습니다. -
.then()
<<> <<>
<何> <<>를 사용할 때 <🎜 🎜> <🎜 🎜>
Promise :
간단한 일회용 비동기 작업에 사용됩니다.
약속을 중심으로 설계된 라이브러리 또는 API를 사용할 때.
체인이 여러 관련없는 작업을 호출 할 때. -
Async/Await :
-
비동기 작업에 의존하는 여러 가지 복잡한 워크 플로우가있는 데 사용됩니다.
더 명확하고 쉬운 코드가 필요할 때.
디버깅이 중요 할 때.
const fetchData = async () => {
try {
const data = await new Promise((resolve, reject) => {
setTimeout(() => {
resolve("数据已获取");
}, 1000);
});
console.log(data);
} catch (error) {
console.error(error);
}
};
fetchData();
로그인 후 복사
결합
는 비동기/대기 및 고급 사용 사례를 달성하겠다는 약속으로 사용할 수 있습니다.
위 내용은 비동기/대기 및 약속 사용의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!