Promise 간편한 사용, ES6 이상 필요

4275 단어
//Promise 지연 시간 순서 실행
var waitOne = new Promise(function(resolve, reject) {
     setTimeout(function(){ resolve(1)}, 1000);
}); 
var waitSecond = new Promise(function(resolve, reject) {
     setTimeout(function(){ resolve(1)}, 1000);
}); 
waitOne.then(function() {
    console.log("Hello"); // 1 "Hello"
    return new Promise(function(resolve, reject) {
     setTimeout(function(){ resolve(1)}, 1000);
    });
}).then(function() {
    console.log("Hi"); // 2 "Hi"
});

 
new Promise(function(resolve , reject) {
    resolve(1);
}).then(function(val) {
    console.log(val);
    return new Promise(function(resolve , reject) {
        resolve(2);
    });
}).then(function(val) {
    console.log(val);
    return new Promise(function(resolve , reject) {
        resolve(3);
    });
}).then(function(val) {
    console.log(val);
    return new Promise(function(resolve , reject) {
        resolve(4);
    });
}).then(function(val) {
    console.log(val);
});

//
//      1
//      2
//      3
//      4

 
다음 코드에서 setTimeout(fn, 0)은 다음 이벤트 순환이 시작될 때 실행됩니다. Promise.resolve () 는 이번'이벤트 순환'이 끝날 때 실행됩니다. console.log ('one') 는 즉시 실행되기 때문에 가장 먼저 출력됩니다. 
setTimeout(function () {
  console.log('three');
}, 0);

Promise.resolve().then(function () {
  console.log('two');
});

console.log('one');

좋은 웹페이지 즐겨찾기