为什么node要打印Promise {<pending>} ?我能把它关掉吗?

Why would node print Promise { <pending> }? Can I turn it off?

本文关键字:pending 打印 node Promise 为什么      更新时间:2023-09-26

下面是我的测试代码,用于测试在嵌入在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> }。为什么会发生这种情况,如何消除这种情况?

当你记录整个承诺时就会发生这种情况,这就是你在这里所做的。

你不需要关闭它,只需要停止记录承诺

var p = new Promise(function (resolve) {
    setTimeout(function () {
        resolve('starbar');
    }, 3000);
});
p.then(function (v) {
    console.log(v);
});