gla*_*666 9 javascript ajax jquery functional-programming callback
想象一下,我们必须得到ajax请求的来源.我想在触发所有回调时执行一些操作.除了这种方法,如何做到这一点:
(function($){
var sources = ['http://source1.com', 'http://source2.com'],
guard = 0,
someHandler = function() {
if (guard != sources.length) { return; }
//do some actions
};
for (var idx in sources) {
$.getJSON(sources[idx], function(){ guard++; someHandler(); })
}
})(jQuery)
Run Code Online (Sandbox Code Playgroud)
我在这里不喜欢的是,在这种情况下,我无法处理响应失败(例如,我无法设置响应的超时)和整体方法(我想应该有一种方法来使用更多的功能这里编程)
有任何想法吗?
问候!
UPD:感谢带有链接回调的解决方案.我在这里找到了一个好方法:.这是评论中提出的内容:
(function hidenext(jq){
jq.eq(0).fadeOut("fast", function(){
(jq=jq.slice(1)).length && hidenext(jq);
});
})($('div#bodyContent a'))
Run Code Online (Sandbox Code Playgroud)
通过一些调整,它可以等待最后一次回调.
现在我想要正确处理长时间运行的请求.有线索吗?