首页 新闻 会员 周边

bluebird和原生Promise 关于then的区别?

0
悬赏园豆:5 [待解决问题]

问题如下:
当使用bluebird和nodejs原生Promise执行下列代码时,其执行顺序有些出入,请问一下这个是因为什么?

/**
 * 若用bluebird,则输出顺序为 2 3 5 6 1 4
 * 原生Promise,则输出顺序为 2 3 5 6 4 1
 */
// var Promise = require("bluebird");

setTimeout(() => {
    console.log("1");
}, 0);

process.nextTick(function() {
    console.log("6");
});

new Promise(function(resolve, reject) {
    console.log("2");
    var st = new Date().getTime();
    while(new Date().getTime() - st < 1000) {}
    resolve("ok");
    console.log("3");
})
.then(function() {
    console.log("4");
});

console.log("5");
Chengbo_X的主页 Chengbo_X | 初学一级 | 园豆:199
提问于:2018-10-01 21:40
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册