Javascript 为什么节点打印承诺{<;挂起>;}?我能把它关掉吗?

Javascript 为什么节点打印承诺{<;挂起>;}?我能把它关掉吗?,javascript,es6-promise,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); })); 在节点中运行代码时,它会记录Promise{}。

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

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

console.log(p.then(function (v) {
    console.log(v);
}));
在节点中运行代码时,它会记录
Promise{}

为什么会发生这种情况以及如何关闭它?

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

你不必关闭它,只要停止记录承诺即可

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

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

这就是当你记录一个完整的承诺时会发生的事情,这就是你在这里所做的

你不必关闭它,只要停止记录承诺即可

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

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

只需卸下外部
控制台.log()
?不清楚您想要实现什么以及为什么对输出不满意。是的,我错误地将无用的console.log包装在外部。在我移除外部控制台.log()之后,一切都很顺利。外部
console.log()
是否记录承诺对象的即时状态?是的,它会立即记录
然后返回的内容-尚未解析的承诺。只需删除外部
console.log()
?不清楚您想要实现什么以及为什么对输出不满意。是的,我错误地将无用的console.log包装在外部。在我移除外部控制台.log()之后,一切都很顺利。外部
console.log()
是否记录承诺对象的即时状态?是的,它会立即记录
然后返回的内容-一个尚未解析的承诺。哦!是的,我明白了。是我的错。非常感谢。哦是的,我明白了。是我的错。非常感谢。