У меня есть объект, который использует jQuery Deferred
для создания собственного обещания, которое я разрешаю после тайм-аута. Затем я связываю вызов ajax и возвращаю обещание.
var Obj = function() {
var _obj = new $.Deferred();
setTimeout(function() {
_obj.resolve("Resolve One!");
}, 2000);
return _obj.promise();
}
new Obj()
.done(function(message) {
document.write(message);
return $.get("http://www.jsonip.com/");
})
.done(function(response) {
document.write(response);
})
Я ожидаю, что в сообщении будет «Решить один!» и ответ, чтобы получить ответ от вызова ajax
Ожидаемый результат:
Resolve One!{"ip":"256.256.0.0","about":"/about"}
Что я получаю взамен:
Resolve One!Resolve One!
Поскольку я возвращаю $.get()
, что является обещанием, я ожидаю, что старое обещание будет заменено обещанием из jQuery. Что я должен делать вместо этого, чтобы получить содержимое веб-страницы в ответ`?
jsfiddle: http://jsfiddle.net/7zUKg/