javascript 2

[JavaScript] 비동기 동작 관리를 위한 Promise와 async/await

세 줄 요약1. Promise는 비동기 동작을 관리하기 위해 설계되었으며, 콜백 함수로 이루어져 있다.2. Promise의 상태는 pending, fulfilled, rejected로 나뉜다. (상태에 따른 콜백이 finally, then, catch)3. 비동기 함수의 처리를 쉽게 하기 위해 async/await 키워드를 사용한다. overall비동기 함수 (Producer = Executor)결과를 생성하는 함수로, Promise 내부에서 실행된다. 결과를 콜백의 Input에 넣는다.caller성공 콜백, 실패 콜백 (Consumer = Executee)Promise의 결과를 받아 처리하는 함수(then, catch).calleePromise의 역할비동기 작업의 결과(성공/실패)를 관리하며, Prod..

cs 2024.12.31

[JavaScript] Top-level await (+약간의 Promise)

Top-level awaitjs ES2022(ES13)부터 도입된 기능으로, 모듈 스코프에서 직접 await 키워드를 사용할 수 있게 해준다.이전에는 async 키워드가 있는 스코프 내에서만 await를 통해 해당 스코프에서 비동기 동작이 완료되기까지 블로킹할 수 있었는데모듈단위에서 await를 통해 특정 비동기 함수의 동작이 완료되기까지 하위 모듈의 동작을 막을 수 있다. 1. 기존의 await 사용 제한과 Top-level await의 등장기존 await 키워드는 반드시 async 함수 내부에서만 사용할 수 있었다.따라서, await를 모듈의 최상위 레벨에서 사용하려면 async 함수를 감싸야 했다.// 기존 방식 (async 함수로 감싸야 함)async function main() { const ..

cs 2024.12.31