繁体   English   中英

将回调附加到多个jQuery Promise

[英]Attach callback to multiple jquery promises

我有多个延迟的对象。 我需要附加每个延迟对象触发一次的处理程序。

我知道我可以用

$.when.apply($, my_array);

但据我了解,只有解决所有延迟的对象后,才会触发完成。

每次解决对象时,我都需要被解雇。 我可能可以使用循环,但是我想知道是否在使用$ .when的上述行中有类似内容。

您必须使用循环; 没有语法糖可以单独处理每个承诺。

function doneCallback() {
  // your common callback
}

$.each(my_array, function(my_deferred) {
    my_deferred.done(doneCallback);
}

不能完全确定这是否是您要尝试的操作,但是听起来您需要做的是创建一个主延迟对象,然后将延迟对象数组传递给它。 使用.always()将处理程序添加到数组中的对象,该方法将触发延迟的失败或成功。 解析所有子延迟对象后,将延迟主延迟对象.done()

另外$ .when()可以处理延迟对象的数组,因此您可以尝试$.when(my_array).always(function()...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM