Javascript 如何在(…)失败时强制jquery$
a1是否有一个值会强制延迟对象失败,同时不会在对象内执行任何格式错误的ajax调用?您可以传递一个:Javascript 如何在(…)失败时强制jquery$,javascript,jquery,ajax,deferred,Javascript,Jquery,Ajax,Deferred,a1是否有一个值会强制延迟对象失败,同时不会在对象内执行任何格式错误的ajax调用?您可以传递一个: 您可以在中进行测试。详细说明@Frédéric Hamidi,如果您有一个尚未“promisized”的“async”函数,那么它通常会有一个成功和失败的回调 然后你做一些类似的事情: $.when($.Deferred().reject()).fail(function() { alert("fail"); }); 再说一次,如果你愿意,你可以在这两种情况下都失败,尽管这对我来说似乎
您可以在中进行测试。详细说明@Frédéric Hamidi,如果您有一个尚未“promisized”的“async”函数,那么它通常会有一个成功和失败的回调 然后你做一些类似的事情:
$.when($.Deferred().reject()).fail(function() {
alert("fail");
});
再说一次,如果你愿意,你可以在这两种情况下都失败,尽管这对我来说似乎没有什么意义
但是,如果它已经是一个承诺(对于jQuery来说,像Ajak这样的承诺就足够了),那么您可以重用这个承诺。谢谢,您可以通过在ajax函数失败时给出一个ajax函数传入$的示例来增强您的答案。(如何调用不同对象并提醒用户)@Dave,恐怕我不理解你的评论。如果调用
$.ajax()
返回的承诺被传递给$。当()
请求失败时,将以与此处相同的方式调用失败处理程序。
$.when($.Deferred().reject()).fail(function() {
alert("fail");
});
// @returns {promise} a promise
function callAsync(args){
var deferred = $.Deferred();
ApiNotReturningPromise.ajax(args, function success(data) {
deferred.resolve(data);
// if you wish to always fail: o.O
// deferred.reject(data);
}, function fail(error) {
deferred.reject(error);
});
return deferred.promise();
}