Skip to Content
JavaScript 디자인 패턴 학습, 제 2판
book

JavaScript 디자인 패턴 학습, 제 2판

by Addy Osmani
May 2025
Beginner to intermediate
298 pages
4h 17m
Korean
O'Reilly Media, Inc.
Book available
Content preview from JavaScript 디자인 패턴 학습, 제 2판

9장. 비동기 프로그래밍 패턴

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

비동기 JavaScript 프로그래밍( )을 사용하면 브라우저가 이벤트에 응답하고 이러한 이벤트를 처리하는 다른 코드를 실행하면서 백그라운드에서 장기 실행 작업을 실행할 수 있습니다. 비동기 프로그래밍은 JavaScript에서 비교적 새로운 기능이며, 이 책의 초판이 출간될 당시에는 이를 지원하는 구문이 없었습니다.

promise, async, await 같은 JavaScript 개념은 메인 스레드를 차단하지 않고 코드를 더 깔끔하고 읽기 쉽게 만들어 줍니다. async 함수는 2016년에 ES7의 일부로 도입되어 현재 모든 브라우저에서 지원되고 있습니다. 이러한 기능을 사용하여 애플리케이션 흐름을 구성하는 몇 가지 패턴을 살펴보겠습니다.

비동기 프로그래밍

JavaScript에서 동기식 코드는 블로킹 방식으로 실행되며, 이는 코드가 한 번에 한 문씩 순차적으로 실행됨을 의미합니다. 다음 코드는 현재 문 실행이 완료된 후에만 실행할 수 있습니다. 동기식 함수를 호출하면 해당 함수 내부의 코드가 처음부터 끝까지 실행된 후 제어가 호출자에게 반환됩니다.

반면 비동기 코드는 비차단 방식으로 실행되므로 현재 실행 중인 코드가 대기 중인 동안 JavaScript 엔진이 백그라운드에서 이 코드를 실행하도록 전환할 수 있습니다. 비동기 함수를 호출하면 함수 내부의 코드가 백그라운드에서 실행되고 컨트롤은 호출자에게 즉시 반환됩니다.

다음은 JavaScript의 동기식 코드 예시입니다:

function synchronousFunction() {
  // do something
}

synchronousFunction();
// the code inside the function is executed before this line

다음은 JavaScript의 비동기 코드 예시입니다:

function asynchronousFunction() {
  // do something
}

asynchronousFunction();
// the code inside the function is executed in the background
// while control returns to this line

일반적으로 비동기 코드를 사용하면 나머지 코드를 차단하지 않고 장기 실행 작업을 수행할 수 있습니다. 비동기 코드는 네트워크 요청, 데이터베이스 읽기 또는 쓰기, 기타 유형의 입출력(I/O) 작업을 수행할 때 적합합니다.

async , await, promise 와 같은 언어 기능을 사용하면 JavaScript에서 비동기 코드를 더 쉽게 작성할 수 있습니다. 이러한 기능을 사용하면 비동기 코드를 동기 코드처럼 보이고 동작하는 방식으로 작성하여 읽고 이해하기 쉽게 만들 수 있습니다.

콜백, 약속, async/await 의 차이점을 간략하게 살펴본 후 각각에 대해 더 자세히 알아보겠습니다:

// using ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

자바스크립트 + 리액트 디자인 패턴

자바스크립트 + 리액트 디자인 패턴

애디 오스마니(Addy Osmani)
알고리즘 학습

알고리즘 학습

George Heineman
What Employees Want Most in Uncertain Times

What Employees Want Most in Uncertain Times

Kristine W. Powers, Jessica B.B. Diaz

Publisher Resources

ISBN: 9798341654624Supplemental Content