Web
javascript async await 동기화 함수
백곳
2018. 11. 12. 08:52
javascript async await 동기화 함수
동기화 예제
예제 소스 참조 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/async_function
function resolveAfter2Seconds(x) {
return new Promise(resolve => {
setTimeout(() => {
resolve(x);
}, 2000);
});
};
var add = async function(x) { // async function 표현식을 변수에 할당
var a = await resolveAfter2Seconds(20);
var b = await resolveAfter2Seconds(30);
return x + a + b;
};
add(10).then(v => {
console.log(v); // 4초 뒤에 60 출력
});
(async function(x) { // async function 표현식을 IIFE로 사용
var p_a = resolveAfter2Seconds(20);
var p_b = resolveAfter2Seconds(30);
return x + await p_a + await p_b;
})(10).then(v => {
console.log(v); // 2초 뒤에 60 출력
});
위에 예제가 직관적이여서 올려 놓습니다,