【发布时间】:2015-05-09 02:47:09
【问题描述】:
情况
我有以下使用 Promise 的功能。
var getDefinitions = function() {
return new Promise(function(resolve) {
resolve(ContactManager.request("definition:entities"));
});
}
var definitions = getDefinitions()
definitions的内容是:
Promise {
[[PromiseStatus]]: "resolved",
[[PromiseValue]]: child
}
直接访问PromiseValue属性返回undefined
var value = definitions.PromiseValue; // undefined
问题
双括号[[ ]] 是什么意思,如何检索[[PromiseValue]] 的值。
【问题讨论】:
-
了解您使用的是哪个库会有所帮助。
-
嗯,我想我正在使用内置的 javascript 库和 Chrome (??)
-
看起来这就是 promise 状态的描述方式。您可以在 Chrome 的控制台中尝试此操作:
new Promise(function(){})。 Chrome 的[[PromiseStatus]]可以与Firefox 的<state>进行比较。我真的不明白这里的问题是什么(假设 OP 知道什么是承诺)。 -
@Jeff 据我所知,这就是 Chrome 向您展示承诺状态的方式。这些属性故意在对象外部不可见。如果您在 Firefox 中查看 Promise 对象,它不会以这种方式呈现它。我认为它可能只是为了作为诊断辅助工具。
-
ContactManager.request("definition:entities")是什么?
标签: javascript promise es6-promise