我怎样才能传播到另一个在一个JQuery.Deferred()对象的所有活动?
有没有更好/更简单/短路,然后同时处理.fail
和.then
.done
通过调用其他对象.rejectWith
和.resolveWith
? 我假设我没有处理.done
.then
,当我打电话拒绝或解决它会被称为。
我猜想,也许这是可以做到用.pipe
,但我不知道怎么样。
更新:
注:我也我固定的一些文字上述每@弗雷德里克·哈米迪的评论。
我想实现是以下几点:
我已经陷入到服务器,让AJAX调用一个API,他们将返回Ajax对象(这是一个$ .Deferred本身)。
在某些时候,我需要处理的情况下我可以不净的工作(这是一个移动设备上运行的应用程序的PhoneGap)。
我想要做的是,在没有网络连接的情况下,我会显示一个对话框,提示用户修复网络问题并点击“重试”。
但是,在这种情况下我也不会叫$阿贾克斯,直到用户点击重试,所以我没有一个$ .Defferred对象返回调用的API,以开始与功能。
所以最后我的理解是,我可以创造一个新的$ .Defferred并返回它和回调重试按钮来调用$就自己将其设置为“接力” /传播defferred事件,我只是返回的一个入座它作为封闭件的一部分。
但我不知道做它的方式。 我与该查询股价.pipe
方法是因为它的描述说,它的一个:
实用方法来筛选和/或链Deferreds。
我hoep这使我的问题更加清晰。