JavaScript
Promise, async/await을 통한 순차실행 - 작성중
포시
2022. 12. 3. 23:40
728x90
function f1() {
setTimeout(() => {
console.log(1);
}, 1000);
}
function f2() {
setTimeout(() => {
console.log(2);
}, 2000);
}
function f3() {
f2();
f1();
}
f3();
// 출력
// 1
// 2
시행착오1
function f1() {
setTimeout(() => {
console.log(1);
}, 1000);
}
function f2(f1) {
setTimeout(() => {
console.log(2);
}, 2000);
f1();
}
f2(f1);
시행착오2
function f1() {
setTimeout(() => {
console.log(1);
}, 1000);
}
function f2() {
setTimeout(() => {
console.log(2);
}, 2000);
}
const f3 = new Promise((resolve, reject)=>{
f2();
resolve('done');
})
f3.then(()=>{
f1();
})
해결
function f1(){
return new Promise(resolve => {
setTimeout(() => {
console.log(1);
resolve();
}, 1000);
});
};
function f2(){
return new Promise(resolve => {
setTimeout(() => {
console.log(2);
resolve();
}, 2000);
});
};
let test = async function(){
await f2();
await f1();
}
test();
(async () => {
await f2();
await f1();
})();
이렇게도 표현 가능
잘 설명하다 before, after를 연관도 안되게 예시 들어놓은 다른 블로그들과 달리 아래 블로그에선
내가 궁금한걸 모두 해결해줌
https://mhui123.tistory.com/31
[Javascript] async await으로 순서 조작하기 (동시실행, 순차실행)
Promise를 반환하는 function을 선언하고 .then() 을 통해서 순서를 조작할 수 있기는 하지만, 실제 사용에 있어 코드가 길어지고 읽기 난해해지는 부분이 있는데 이때 javascript에서 제공하는 function의 a
mhui123.tistory.com
728x90