有没有办法从Jquery Deferred / Promise转到When-JS Promise

时间:2015-05-13 15:56:28

标签: javascript promise jquery-deferred es6-promise when-js

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

编辑1

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

1 个答案:

答案 0 :(得分:3)

是的,Promises / A +承诺就像承诺具有这种功能的设计,它们的构建是为了吸收jQuery thenables。

为了将任何外来的(如jQuery承诺)转换为when promise,只需将其包装在when中:

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

when(x) - 获得x的可信承诺。如果x是外来的,则a返回x之后的承诺。

the Promises/A+规范中明确规定了同化的

  

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