new Promise와 await

정태민·2023년 2월 21일
0

자바스크립트

목록 보기
3/12

비동기 함수라 순차적으로 실행이 안된다.

var testawait;
async function PromiseOrAsync() {
console.log("start1");
function Promisetest() {
return new Promise((resolve, reject) => {
setTimeout(() => resolve(console.log("start2")), 1000);
});
}

testawait = Promisetest().then((e) => {
console.log("start3", e);
});

console.log("start4");
}

PromiseOrAsync();

console.log("start5", testawait);

await를 사용해도 async내에서만 순차적으로 적용될 뿐이다. 비동기로 선언된 순간 실행컨텍스트가 callstack에 쌓이지 않고Web APIs로 완전히 분리되기 때문

var testawait;
async function PromiseOrAsync() {
console.log("start1");
function Promisetest() {
return new Promise((resolve, reject) => {
setTimeout(() => resolve(console.log("start2")), 1000);
});
}

testawait = await Promisetest().then((e) => {
console.log("start3", e);
});

console.log("start4");
}

PromiseOrAsync();

console.log("start5", testawait);

profile
퇴근후 30분 출근전 30분

0개의 댓글