[javascript] 비동기 처리 방식 설정하기

JavaScript는 단일 스레드 기반의 언어로, 기본적으로는 동기적인 처리 방식을 따릅니다. 하지만 JavaScript는 비동기 처리를 위한 다양한 방법을 제공하고 있습니다. 이번 글에서는 비동기 처리 방식을 설정하는 방법에 대해 알아보겠습니다.

Callback 함수

처리의 완료를 알리기 위해 콜백 함수를 사용하는 방식이 가장 일반적입니다. 비동기 작업이 완료되면, 콜백 함수가 호출되어 추가적인 작업을 수행합니다. 예를 들어, setTimeout 함수를 사용하여 일정 시간이 지난 후에 콜백 함수를 실행할 수 있습니다.

setTimeout(function() {
    console.log("3초가 지났습니다.");
}, 3000);

Promise 객체

ES6에서는 Promise 객체를 사용하여 비동기 처리를 더욱 편리하게 관리할 수 있습니다. Promise는 비동기 작업의 결과를 나타내는 객체로, 성공, 실패, 진행 중인 상태를 나타낼 수 있습니다.

let promise = new Promise(function(resolve, reject) {
    setTimeout(function() {
        resolve("작업이 완료되었습니다.");
    }, 3000);
});

promise.then(function(result) {
    console.log(result);
}).catch(function(error) {
    console.log(error);
});

Async/await

ES8부터는 async/await 문법이 도입되어, 비동기 코드를 동기적으로 작성할 수 있게 되었습니다. async 함수는 항상 Promise 객체를 반환하며, await 키워드를 사용하여 비동기 작업의 결과를 직접 처리할 수 있습니다.

async function fetchData() {
    try {
        let response = await fetch("https://api.example.com/data");
        let data = await response.json();
        console.log(data);
    } catch(error) {
        console.log(error);
    }
}

fetchData();

결론

JavaScript에서 비동기 처리 방식을 설정하기 위해 콜백 함수, Promise 객체, async/await 문법을 활용할 수 있습니다. 각각의 방법은 다양한 상황에 맞게 사용할 수 있으며, 개발자의 취향과 프로젝트의 요구에 따라 선택하여 사용하면 됩니다.

자세한 내용은 다음 문서를 참고해주세요: