Javascript 为什么节点打印承诺{<;挂起>;}?我能把它关掉吗?
下面是我的测试代码,用于测试在promise构造函数中嵌入的另一个回调中调用resolve回调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{}。
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()
是否记录承诺对象的即时状态?是的,它会立即记录然后返回的内容-一个尚未解析的承诺。哦!是的,我明白了。是我的错。非常感谢。哦是的,我明白了。是我的错。非常感谢。