jQuery 处的链管

Chain pipes at jQuery

我正在使用 jQuery v1.7,所以我无法使用 then。我需要进行多个嵌套的 ajax 调用,并且我想摆脱嵌套的回调调用。我发现在 1.7 版本中我可以使用 pipe 方法。但谷歌搜索后我不确定我是否正确使用它。我有这样的代码:

step1().pipe(step2, fail).pipe(step3, fail).done(step4, fail)

我想做的是将异步调用结果从 step1 传递到 step2 等等,或者在出现错误时调用 fail 函数。最后我调用了 done 方法。

step2 的签名是:

function step2(data) {
    ...
}

我省略了 2 个额外的参数,因为它们对我来说不是必需的。

经过几次测试,我发现它有效:

step1().pipe(step2, fail).pipe(step3, fail).done(step4, fail)

对于 jQuery v1.7