JavaScript는 다재다능하고 반응성이 뛰어납니다. 비동기식을 사용하는 방법을 아는 것이 가장 좋습니다. API 결과 가져오기부터 파일 로드까지 비동기 개발을 통해 차단 없이 한 번에 여러 작업을 수행할 수 있습니다. JavaScript로 비동기 코드를 작성하기 위한 세 가지 접근 방식인 Promise, Async/Await 및 Callback을 살펴보겠습니다. 각각의 사용 시기와 구현 방법을 이해합니다.
비동기 JavaScript를 사용하는 이유
API에서 데이터를 가져오거나 대용량 이미지 파일이 다운로드될 때까지 기다릴 때마다 웹 애플리케이션이 정지되는 상황을 상상해 보세요. 최선의 경우는 아니죠? 이것이 바로 비동기 JavaScript가 등장하는 곳입니다. 이를 통해 일부 작업이 완료될 때까지 기다리는 동안 프로그램이 계속 실행될 수 있으므로 훨씬 더 원활한 사용자 경험이 가능해집니다.
예: 기본 콜백
함수 fetchData(콜백) {
setTimeout(() => {
console.log("데이터를 가져왔습니다");
콜백();
}, 2000);
}
함수 processData() {
console.log("데이터를 처리하는 중입니다.");
}
fetchData(프로세스데이터);
이 예에서 fetchData는 2초를 기다린 후 완료되면 processData를 호출합니다. 이는 간단한 시나리오에서는 괜찮지만 여러 개의 콜백을 쌓기 시작하면 깊게 중첩된 콜백으로 인해 코드를 읽고 유지하기 어렵게 만드는 "콜백 지옥"에 들어갈 수 있습니다.
팁: 중첩된 콜백이 3개 이상인 경우 Promise 또는 Async/Await로 전환하는 것을 고려해 보세요.
예: 약속 사용
함수 fetchData() {
return new Promise((해결, 거부) => {
setTimeout(() => {
해결("데이터를 성공적으로 가져왔습니다!");
}, 2000);
});
}
fetchData()
.then((메시지) => {
console.log(메시지);
return "데이터 처리 중";
})
.then((processingMessage) => {
console.log(processingMessage);
})
.catch((오류) => {
console.error("오류:", error);
});
여기서 각 .then()을 사용하면 작업을 순차적으로 처리할 수 있으므로 깊게 중첩된 콜백보다 읽기가 더 쉬울 수 있습니다. 또한 Promise는 오류를 더욱 우아하게 처리하고 .catch()를 사용하여 한 곳에서 오류를 처리할 수 있게 해줍니다.
팁: 이전 작업을 완료한 후 여러 작업을 순차적으로 실행해야 하는 경우 Promise를 적용하세요.
예: 비동기/대기
비동기 함수 fetchData() {
시도해보세요 {
const 데이터 = 새로운 약속을 기다립니다((해결) =>
setTimeout(() =>solve("데이터를 성공적으로 가져왔습니다!"), 2000);
});
console.log(데이터);
const processMessage = await new Promise((resolve) => { setTimeout(() => resolve("Processing data."), 1000); }); console.log(processMessage);
} 잡기(오류) {
console.error("오류:", error);
}
}
fetchData();
비동기 및 대기를 사용하면 코드가 동기 코드와 매우 유사해 보이도록 .then() 호출을 연결하지 않아도 됩니다. 이는 특히 관련된 작업이 복잡한 경우 가독성을 높이는 훌륭한 방법입니다.
모범 사례: 가독성이 높으므로 최신 JavaScript 애플리케이션에서 가능할 때마다 Async/Await를 사용하는 것이 항상 최선의 접근 방식입니다.
어디에 사용
콜백: 복잡하지 않고 가독성이 문제가 되지 않는 작은 작업에 사용합니다. 단순한 비동기 호출에는 거의 사용되지 않습니다.
약속: 오류 처리 및 순차적 프로세스에 완벽하게 적합합니다. Promise를 사용하면 콜백이 깊게 중첩되어 지저분한 코드를 피할 수 있습니다.
Async/ Await: 순서대로 작업을 수행할 때 가독성이 좋고 코드가 더 깔끔합니다.
비동기 JavaScript를 마스터하기 위한 최종 팁
각 방법을 시도해 보세요. 각 방법을 더 많이 연습할수록 비동기 프로그래밍을 더 잘 이해하고 언제 어떤 방법을 사용해야 하는지 더 잘 알 수 있습니다.
주의해서 오류 처리: Promise와 Async/Await 모두에서 .catch() 또는 try.catch를 사용하여 오류 처리를 사용합니다.
성능 최적화: 병렬로 실행할 수 있는 작업의 경우 Promise.all을 사용하여 병렬로 실행하세요.
깊이 알아볼 준비가 되셨나요? 프로젝트에 비동기 기술을 구현하여 차이점을 확인해보세요. 비동기 프로그래밍을 마스터하면 JavaScript 기술을 한 단계 더 발전시키고 매끄럽고 반응성이 뛰어난 애플리케이션을 만드는 데 도움이 됩니다.
위 내용은 비동기 JavaScript 마스터하기: 약속, Async/Await 및 콜백 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!