-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
async await관련 질문 드립니다.
22.01.02 00:53 작성 조회수 118
0
async function A() { ... } // 3초
async function B() { ... } // 2초
const a = await A(); // (1)
const b = await B(); // (2)
시간이 많이 소요 되는 비동기 함수 A, B 두개가 있을 때 위와 같이 호출하면 (1)에서 A호출해서 백그라운드로 넘겨주고 기다리다가 결과 받고 (2)에서 B호출해서 백그라운드로 넘겨주고 기다리다가 결과 받는다고 이해했습니다. 총 5초가 소요된다고 예상했습니다.
그렇게되면 백그라운드에서 js보다 빠른 c++등 으로 실행할 수 있다는 점 빼고 비동기를 사용하는 이유가 없다는 생각이 들었습니다. A와 B가 동기적으로 실행되기 때문입니다.
async function A() { ... } // 3초
async function B() { ... } // 2초
const aPromise = A(); // (1)
const bPromise = B(); // (2)
const a = await aPromise; // (3)
const b = await bPromise; // (4)
위와같이 (1)(2)에서 결과를 기다리지 않고 비동기함수를 백그라운드로 둘다 넘기면 A,B가 동시에 백그라운드에서 실행되기 때문에 총 3초가 소요된다고 예상했습니다.
제가 이해한 내용이 맞는지 궁금합니다. A, B의 순서가 상관 없다면 아래처럼 작성하는 것이 속도면에서 나은 코드인가요?
답변을 작성해보세요.
답변 1