更改失败函数中的变量值

Change variable value in fail function

我目前正在努力使用 $.getJSON() 和结果 .fail() 函数。我试图得到它,以便当 $.getJSON() 失败时,它将变量值更改为其他值 - 例如:

var mangoes = $.getJSON("mangoesurl.com/json").fail(mangoes="{value:0}");

我不能使用另一个变量,因为我稍后还要使用 $.when() 从芒果中检索数据 JSON。

有人知道这是否可行,我该怎么做或有其他选择吗?非常感谢任何帮助,谢谢。

var mangoes = $.getJSON("mangoesurl.com/json").fail(mangoes="{value:0}");
var mangoes2 = $.getJSON("mangoesurl.com/json2").fail(mangoes="{value:0}");
$.when(mangoes, mangoes2).then(data1, data2){

}

如果我没理解错的话,这就是你需要的:

var mangoes = $.getJSON("mangoesurl.com/json").fail(function(){
     return {value:0};
});

这样mangoes响应后为空。基本上这段代码得到 JSON 但什么也不做。 要将 JSON 结果放入 mangoes 中,您需要这样:

var mangoes = $.getJSON("mangoesurl.com/json")
.success(function(response){
     return response;
});
.fail(function(){
     return {value:0};
});

使用 When 语法,您无法将内容分配给芒果...您必须更改逻辑

var mangoes, mangoes2;
var deferred1 = $.getJSON("mangoesurl.com/json");
var deferred2 = $.getJSON("mangoesurl.com/json2");
$.when(deferred1, deferred2).then(function(data1, data2){
     mangoes = data1;
     mangoes2 = data2;
}, function(error){
     mangoes || mangoes = {value:0};
     mangoes2 || mangoes2 = {value:0};
});