#javascript #jquery #ajax
Вопрос:
Могу я узнать, в чем разница для приведенного ниже скрипта (с $when vs без $when для ajaxRequest )
$.when(ajaxRequest("GET", "Api/Filter/Country", null, true)).done(function (data) {
return data;
});
И ниже
ajaxRequest("GET", "Api/Filter/Country", null, true).done(function (data) {
return data;
});
Основная Функция
ajaxRequest: function (type, url, data) {
var options = {
dataType: "json",
contentType: "application/json",
cache: false,
type: type,
data: data ? ko.toJSON(data) : null
};
var antiForgeryToken = $("[name='__RequestVerificationToken']")[0].value;
if (antiForgeryToken) {
options.headers = {
'RequestVerificationToken': antiForgeryToken
}
}
return $.ajax(url, options);
}
Комментарии:
1. Логической разницы нет, хотя первый пример избыточен, так как
ajaxRequest
уже возвращает объект jqXHR, поэтому использование$.when()
вообще не требуется2. Обычно вы используете только
$.when()
в том случае, если у вас есть более одного запроса и вы хотите, чтобы код выполнялся после завершения всех