我想在jquery ajax调用返回的promise中使用When-JS功能。有转换方案吗?
编辑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
履行承诺。