JavaScript는 단일 스레드 언어입니다. 즉, 한 번에 한 가지 작업만 수행할 수 있습니다. 그러나 웹 애플리케이션은 서버에서 데이터를 가져오는 것과 같은 작업을 수행해야 하는 경우가 많으며 이 작업에는 시간이 걸릴 수 있습니다. JavaScript가 계속 진행하기 전에 각 작업이 완료될 때까지 기다려야 한다면 웹 앱이 느려지고 응답하지 않게 됩니다. 이것이 비동기(비동기) JavaScript가 필요한 곳입니다.
비동기 JavaScript를 사용하면 코드에서 작업을 시작한 다음 해당 작업이 완료되기를 기다리는 동안 다른 작업으로 이동할 수 있습니다. 작업이 완료되면 코드가 다시 돌아와 결과를 처리할 수 있습니다. 이는 앱의 속도와 반응성을 유지하는 데 도움이 됩니다.
동기식 대 비동기식:
console.log("Start"); let result = someFunction(); // This might take a while console.log("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를 이해하는 것은 느린 작업이 완료될 때까지 기다리지 않고 코드가 작업을 수행할 수 있도록 해주기 때문에 응답성이 뛰어나고 효율적인 웹 애플리케이션을 구축하는 데 필수적입니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3