반응형
setTimeout(function(x){
console.log('First');
setTimeout(function(y){
console.log('Second');
},2000)
}, 1000);
- Callback hell이다.
const p1 = new Promise((resolve, reject) => {
});
p1.then(function(r){
}).catch(function(r){
})
- Promise()에 넘겨주는 함수는 `즉시 실행됨`.
- resolve와 reject는 함수이다.
- resolve를 호출하면 then에 넣어준 함수를 호출해준다. reject를 호출하면 catch에 넣어준 함수를 호출해준다.
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function main() {
console.log("1");
// 어떻게 3초를 멈추게 하는가?
try {
await delay(2000);
console.log("2");
} catch (e) {
console.log("error");
}
}
main();
async 함수는 await을 사용할 수 있다. await은 Promise 객체가 resolve 될때까지 기다렸다가 Promise 객체의 값을 리턴하는 방식으로 작동한다. reject는 try~catch 문에서 catch에 잡힌다.
반응형
'tech documents > memo' 카테고리의 다른 글
[React] redux-saga yield의 원리 (0) | 2020.09.12 |
---|---|
[우아한 테크러닝 3기] 클로저 (0) | 2020.09.03 |
[우아한 테크러닝 3기] Javascript (0) | 2020.09.03 |
[React] redux의 mapStateToProps는 언제 실행되는가? (0) | 2020.08.31 |
댓글