Я пытался отложить несколько функций (AJAX и другие) для каждого массива.
Вызов ajax прошел успешно, но если я пытаюсь получить доступ к переменной, я получаю только неопределенное значение.
За console.log()
Я мог видеть весь объект и доступ к нему для каждого отладчика.
Кроме того, я получил сообщение шага 2 до конца первого шага отложенного массива.
var deferredObj = [];
deferredObj.push({
"data": function() {
return $.ajax({
url: "/api/test",
type: "POST",
data: {
"condition": "2"
},
contentType: "application/json",
dataType: "json"
})
},
"additional_text": "Testtext"
})
deferredObj.push({
"data": function() {
return $.ajax({
url: "/api/test2",
type: "POST",
data: {
"condition": "10"
},
contentType: "application/json",
dataType: "json"
})
},
"additional_text": "Testfunc 2"
})
$.when.apply($, deferredObj)
.done(function() {
$.each(arguments, function(index, arg) {
console.log(arg.data.call().responseJSON); //undefined
//arg.data.call() => {readyState: 1, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
});
})
.done(console.log("Step2"))