如何同步确定JavaScript Promise的状态?

我有一个纯JavaScript Promise(内置实现或poly-fill):

var promise = new Promise(function (resolve, reject) { /* ... */ });

根据规范,Promise可以是以下之一:

  • “解决”和“解决”
  • “解决”和“拒绝”
  • “待定”

我有一个用例,希望同步查询Promise并确定:

  • 承诺解决了吗?

  • 如果是这样,承诺是否得到解决?

我知道我可以#then()用来安排Promise更改状态后异步执行的工作。我不是问怎么做。

这个问题具体是关于 。我该如何实现?

回答:

凭本地承诺是不可能做到这一点的。规范没有指定这种方法。

Userland库可以做到这一点,如果您要针对特定​​的引擎(例如v8)并有权访问 平台代码 (即可以在 core中

编写代码),则可以使用特定的工具(例如私有符号)来实现这一目标。 。这是非常具体的,但不是在用户领域。

以上是 如何同步确定JavaScript Promise的状态? 的全部内容, 来源链接: utcz.com/qa/410298.html

回到顶部