【发布时间】:2015-07-25 00:55:19
【问题描述】:
我想在 jquery ajax 调用返回的承诺之外使用 When-JS 功能。有转换方案吗?
编辑 1
【问题讨论】:
标签: javascript promise jquery-deferred es6-promise when-js
我想在 jquery ajax 调用返回的承诺之外使用 When-JS 功能。有转换方案吗?
编辑 1
【问题讨论】:
标签: javascript promise jquery-deferred es6-promise when-js
是的,Promises/A+ Promises 像 When Promise 具有这种功能设计,它们被构建为同化 jQuery thenables。
为了将任何外部 thenable(如 jQuery 承诺)转换为 when 承诺,只需将其包装在 when:
when($.get(...)).then(...
when(x)- 获得x的可信承诺。如果x是一个外来的thenable,a 返回一个跟在x之后的promise。
thenables 如何被同化在the Promises/A+ 规范中有详细说明:
promise 解析过程是一个抽象操作,将 promise 和 value 作为输入,我们将其表示为
[[Resolve]](promise, x)。如果x是thenable,它会尝试让promise 采用x的状态,假设x的行为至少有点像promise。否则,它会以x的值履行承诺。
【讨论】: