Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
jQuery deferred:为什么解析此失败的请求?_Jquery_Ajax_Callback_Jquery Deferred - Fatal编程技术网

jQuery deferred:为什么解析此失败的请求?

jQuery deferred:为什么解析此失败的请求?,jquery,ajax,callback,jquery-deferred,Jquery,Ajax,Callback,Jquery Deferred,我有两个AJAX延迟,当它们都成功时,应该会产生一条成功消息。否则,如果其中一个失败,则应显示错误消息。简化代码: var reqs = $.map(['file', 'db'], function(mode) { $.get(wspath(desyn.repo_id, 'revert', { mode: mode, path: path, version: ver })) }); $.when(reqs[0], reqs[1]).then( function() { aler

我有两个AJAX延迟,当它们都成功时,应该会产生一条成功消息。否则,如果其中一个失败,则应显示错误消息。简化代码:

var reqs = $.map(['file', 'db'], function(mode) {
    $.get(wspath(desyn.repo_id, 'revert', { mode: mode, path: path, version: ver }))
});

$.when(reqs[0], reqs[1]).then(
    function() { alert('success'); },
    function() { alert('error'); }
);
出于调试目的,我强制第一个请求失败——在服务器上抛出一个内部错误。这在网络控制台中得到了证实。但是,仍然会执行成功回调,而不是失败回调


据我所知(如上的最后一个示例所述),将两个函数传递给
then()
意味着第一个是成功回调,第二个是失败回调。那怎么了?

你应该做
返回$。让(…
在数组中实际拥有延迟对象

哦,天哪…我真的这么做了吗?Face palm x 1000000。谢谢你指出我的注意点。