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

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

这是我的测试代码,用于测试在 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> }。 为什么会发生这种情况以及如何将其关闭?

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

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

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

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