当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Promise简单使用,需要在ES6以上

Promise简单使用,需要在ES6以上

2019年11月27日  | 移动技术网IT编程  | 我要评论
//Promise延时顺序执行 下面代码中,setTimeout(fn, 0)在下一轮“事件循环”开始时执行,Promise.resolve()在本轮“事件循环”结束时执行,console.log('one')则是立即执行,因此最先输出。 下面代码中,setTimeout(fn, 0)在下一轮“事件 ...

 //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');

 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网