为什么节点会打印Promise {<pending>}?我可以把它关掉吗?

时间:2016-09-23 07:07:36

标签: javascript es6-promise

这是我的测试代码,用于测试在promise构造函数中嵌入的另一个回调中调用resolve回调。

var p = new Promise(function (resolve) {
    setTimeout(function () {
        resolve('starbar');
    }, 3000);
});

console.log(p.then(function (v) {
    console.log(v);
}));

在Node中运行代码时,它会记录Promise { <pending> }。 为什么会发生这种情况以及如何将其关闭?

1 个答案:

答案 0 :(得分:1)

当您记录整个承诺时会发生什么,这就是您在此处所做的事情。

您不必将其关闭,只需停止记录承诺

即可
var p = new Promise(function (resolve) {
    setTimeout(function () {
        resolve('starbar');
    }, 3000);
});

p.then(function (v) {
    console.log(v);
});
相关问题