2017-08-05 36 views
0

當我嘗試從Q打印承諾對象時,我得到以下結果。Console.log()打印Q中的承諾對象的狀態和值

var Q = require('q'); 
var defaultPromise = new Q(); 
console.log('defaultPromise', defaultPromise); 

defaultPromise { state: 'fulfilled', value: undefined } 

哪裏做現場狀態和價值從何而來,我試圖通過Visual Studio代碼找到他們,字段是不存在的。

+0

不知道關於Q的任何內容,但這些屬性似乎是它的構造函數的返回值。 – 1252748

+0

我可以在Q的源代碼中看到十幾個對'state'的引用,而'value'屬性更多 - 你在看q.js嗎?作爲一個方面說明:Q未能答應aplus測試在[2.3.1](https://promisesaplus.com/#point-48) - 所以,這不是諾言/ A +兼容:p –

+0

我不認爲你需要用'q'使用'new'。 – Jaime

回答

3

承諾必須處於以下三種狀態之一:等待,已完成或已被拒絕。

承諾必須提供當時的方法來獲取其當前或最終的價值或原因。

Promises/A+

Q(value)返回滿足與價值的承諾。在你的情況,未定義。 Q API Reference