我有一个纯 JavaScript Promise(内置实现或 poly-fill):
var promise = new Promise(function (resolve, reject) { /* ... */ });
从规范中,Promise 可以是以下之一:
我有一个用例,我希望同步询问 Promise 并确定:
Promise 解决了吗?
如果是,Promise 解决了吗?
我知道我可以用它#then()来安排在 Promise 更改状态后异步执行的工作。我不是在问如何做到这一点。
#then()
这个问题专门关于 Promise 状态的同步询问 。我怎样才能做到这一点?
对于原生 JavaScript 承诺,不存在这样的同步检查 API。 使用原生承诺是不可能做到这一点的。规范没有指定这样的方法。
Userland 库可以做到这一点,如果您的目标是特定引擎(如 v8)并且可以访问 平台代码 (也就是说,您可以在 core 中编写代码),那么您可以使用特定工具(如私有符号)来实现这一点. 这是超级具体的,而不是在用户空间中。