Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在返回之前已解决并处理多个延迟_Javascript_Jquery_Backbone.js_Asynchronous - Fatal编程技术网

Javascript jQuery在返回之前已解决并处理多个延迟

Javascript jQuery在返回之前已解决并处理多个延迟,javascript,jquery,backbone.js,asynchronous,Javascript,Jquery,Backbone.js,Asynchronous,我已经看到许多关于同时等待多次延期的问题得到了回答,但我很难等待,然后在触发最终“完成”事件之前处理这些延期。考虑下面的代码,在那里我有一个等待的DEFRADS列表,然后对于每一个延迟,我想处理解析的值,这样我就可以返回每一个延迟的结果作为一个主干集合,一旦它们都完成了。 我遇到的问题是,事件是在所有deferred.done()lambda完成之前触发的。有什么方法可以让它同步吗 (我使用的是主干模型/集合和下划线) 所有承诺的结果都可以作为结果提供。它们作为您的处理程序的 $.when.ap

我已经看到许多关于同时等待多次延期的问题得到了回答,但我很难等待,然后在触发最终“完成”事件之前处理这些延期。考虑下面的代码,在那里我有一个等待的DEFRADS列表,然后对于每一个延迟,我想处理解析的值,这样我就可以返回每一个延迟的结果作为一个主干集合,一旦它们都完成了。 我遇到的问题是,事件是在所有deferred.done()lambda完成之前触发的。有什么方法可以让它同步吗

(我使用的是主干模型/集合和下划线)


所有承诺的结果都可以作为结果提供。它们作为您的处理程序的

$.when.apply($, deferreds).done(function() {
    var products = new Products();
    _.forEach(arguments, function(product) {
        products.add(product);
    });
    that.trigger("claimed", products);  //fire fully resolved collection
});

我突然想到,使用每个done()lambda内解析的第二个延迟列表可以实现这一点,但这在我看来似乎很笨拙,我不认为你会得到一个数组作为参数。。。您将获得与传递的延迟项一样多的参数。。看@ArunPJohny:你说得对。我总是忘记jQuery的
有多凌乱,当
时。我明白了,返回的结果对我来说是看不见的,谢谢你的帮助!
$.when.apply($, deferreds).done(function() {
    var products = new Products();
    _.forEach(arguments, function(product) {
        products.add(product);
    });
    that.trigger("claimed", products);  //fire fully resolved collection
});