JavaScript는 단일 스레드 언어입니다. 즉, 한 번에 한 가지 작업만 수행할 수 있습니다. 그러나 웹 애플리케이션은 서버에서 데이터를 가져오는 등의 작업을 수행해야 하는 경우가 많으며 이 작업에는 시간이 걸릴 수 있습니다. JavaScript가 계속 진행하기 전에 각 작업이 완료될 때까지 기다려야 한다면 웹 앱이 느려지고 응답하지 않게 됩니다. 이것이 비동기(async) JavaScript가 필요한 곳입니다.
비동기 JavaScript를 사용하면 코드에서 작업을 시작한 다음 해당 작업이 완료되기를 기다리는 동안 다른 작업으로 이동할 수 있습니다. 작업이 완료되면 코드가 다시 돌아와 결과를 처리할 수 있습니다. 이는 앱의 빠른 반응성을 유지하는 데 도움이 됩니다.
동기식 대 비동기식:
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
동기 코드에서 "End" 메시지는 someFunction()이 완료된 후에만 기록되므로 속도가 느려질 수 있습니다.
비동기: 작업이 독립적으로 시작되고 완료될 수 있으므로 코드가 기다리다가 멈추는 일이 없습니다. 예:
console.log("Start"); setTimeout(() => { console.log("End"); }, 2000);
여기서 '종료' 메시지는 2초 후에 기록되지만 그 동안 코드는 다른 작업을 계속할 수 있습니다.
콜백:
function fetchData(callback) { setTimeout(() => { let data = "Some data"; callback(data); }, 2000); } fetchData((data) => { console.log(data); // This will log "Some data" after 2 seconds });
약속:
let promise = new Promise((resolve, reject) => { let success = true; if (success) { resolve("Task completed successfully!"); } else { reject("Task failed!"); } }); promise.then((message) => { console.log(message); }).catch((error) => { console.log(error); });
비동기/대기:
async function fetchData() { try { let data = await someAsyncTask(); console.log(data); } catch (error) { console.error("Error:", error); } }
비동기 JavaScript를 이해하는 것은 응답성이 뛰어나고 효율적인 웹 애플리케이션을 구축하는 데 필수적입니다. 이를 통해 느린 작업이 완료될 때까지 기다리지 않고 코드가 작업을 수행할 수 있기 때문입니다.
위 내용은 비동기 JavaScript 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!