✅ 비동기 작업의 동기적 표현(1) - Promise(1)
💡 Promise에 대해
사실, Promise를 지금 완벽히 이해하기는 정말 어려운 일이에요.
비동기 작업의 동기적 표현
Promise는 비동기 처리에 대해, 처리가 끝나면 알려달라는 ‘약속’이에요.
- new 연산자로 호출한 Promise의 인자로 넘어가는 콜백은 바로 실행돼요.
- 그 내부의 resolve(또는 reject) 함수를 호출하는 구문이 있을 경우 resolve(또는 reject) 둘 중 하나가 실행되기 전까지는 다음(then), 오류(catch)로 넘어가지 않아요.
- 따라서, 비동기작업이 완료될 때 비로소 resolve(성공), reject(실패) 호출해요.
우리는 이 방법으로 비동기 -> 동기적 표현을 구현할 수 있습니다 🙂
.then(function ( prevName)
new Promise(function (resolve) {
setTimeout(function () {
var name = '에스프레소';
console.log(name);
resolve(name);
}, 500);
}).then(function (prevName) {
return new Promise(function (resolve) {
setTimeout(function () {
var name = prevName + ', 아메리카노';
console.log(name);
resolve(name);
}, 500);
});
}).then(function (prevName) {
return new Promise(function (resolve) {
setTimeout(function () {
var name = prevName + ', 카페모카';
console.log(name);
resolve(name);
}, 500);
});
}).then(function (prevName) {
return new Promise(function (resolve) {
setTimeout(function () {
var name = prevName + ', 카페라떼';
console.log(name);
resolve(name);
}, 500);
});
});
'Javascript' 카테고리의 다른 글
콜백함수 제너레이터(Generator) (0) | 2023.12.19 |
---|---|
비동기 작업의 동기적 표현 - Promise (0) | 2023.12.19 |
콜백지옥 & 동기 비동기 (0) | 2023.12.18 |
콜백 함수 내부의 this에 다른 값 바인딩하기 (0) | 2023.12.18 |
콜백 함수는 함수다 (0) | 2023.12.18 |