Я инкапсулировал функцию JQuery Get как таковую в файле javascript:
var Ajax = {
get: function (url) {
$.get(
{
url: url,
timeout: 120000,
cache: false,
async: true,
dataType: "json",
contentType: "application/json; charset=utf-8"
}
).done(function() { DoSomethingDoneFirst(); }).fail(function (x, y, z) { DosomethingFailedFirst());
}
}
Как вы можете видеть, я использую метод fail и done объекта обещания в этом инкапсулированном методе, потому что Мне нужно сделать некоторые действия, когда запрос завершен. Как мне также вернуть объект обещания, чтобы любая вызывающая функция, использующая этот метод Get, могла добавлять свои собственные методы done, fail, et c.
Глядя на приведенный ниже пример, разработчик может использовать функцию Get в своем собственном коде. Я ожидал бы, что 1) запрос Ajax Get будет вызван 2) когда это будет сделано - будет вызван DoSomethingDoneFirst и 3) будет вызвана функция разработчика DoSomethingSecond. Я хочу вернуть объект обещания из метода Get, чтобы разработчик мог «добавлять» свои собственные методы done, fail, всегда и т. Д. c. Как я могу выполнить sh это?
function Test() {
if (1==1){
Ajax.get(http://www.example.com).done(DoSomethingSecond)
}
}