1

我想在 jquery ajax 调用返回的承诺之外使用 When-JS 功能。有转换方案吗?

编辑 1

https://github.com/cujojs/when/blob/master/docs/api.md#api

4

1 回答 1

3

是的,Promises/A+ Promise 之类的当 Promise 具有此功能的设计时,它们被构建为同化 jQuery thenables。

为了将任何外部 thenable(如 jQuery 承诺)转换为 when 承诺,只需将其包装在when

when($.get(...)).then(...

when(x)- 得到一个值得信赖的承诺x。ifx是一个外来的 thenable,a 返回一个紧随其后的 promise x

在Promises/A+规范中详细说明了thenables 是如何被同化的:

承诺解决过程是一个抽象操作,将承诺和值作为输入,我们将其表示为[[Resolve]](promise, x)。如果x是一个有then能力的,它试图让承诺采用 的状态x,假设它的x行为至少有点像一个承诺。否则,它以 value 履行承诺x

于 2015-05-13T17:48:09.470 回答