0
這裏是我的測試代碼來測試在promise構造函數中嵌入的另一個回調中調用resolve回調函數。節點爲什麼會打印Promise {<pending>}?我可以關閉它嗎?
var p = new Promise(function (resolve) {
setTimeout(function() {
resolve('starbar');
}, 3000);
});
console.log(p.then(function (v) {
console.log(v);
}));
在Node中運行代碼時,它記錄了Promise { <pending> }
。 爲什麼會發生這種情況,以及如何關閉它?
只需卸下外'的console.log()'?目前還不清楚你想達到什麼以及爲什麼你對輸出不滿意。 – Bergi
是的,我在外面包裝無用的console.log時犯了一個錯誤。在我刪除了外部console.log()之後,事情進展順利。外部'console.log()'記錄承諾對象的直接狀態嗎? – krave
是的,它立即記錄了'然後'返回 - 一個尚未解決的承諾。 – Bergi