ITPub博客

首页 > 应用开发 > > bluebird和原生Promise 关于then的区别?

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

作者:daxuesheng 时间:2019-08-14 14:15:36 0 删除 编辑

问题如下:

当使用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");


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4692/viewspace-3152716/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 小白求助 啊
请登录后发表评论 登录
全部评论

注册时间:2019-05-22

  • 博文量
    176
  • 访问量
    24988