Учитывая эти функции:
function func1() {
var dfd = $.Deferred();
setTimeout(function() {
dfd.resolve('Password');
}, 1000);
return dfd.promise();
}
function func2(message) {
var dfd = $.Deferred();
setTimeout(function() {
if (message == 'Password') {
dfd.resolve('Hello World');
}
}, 1000);
return dfd.promise();
}
Я хотел бы найти лучший способ сделать следующее. Обратите внимание, что это использование jQuery 1.8.x.
var promise = func1();
promise.done(function(message1) {
var promise2 = func2(message1);
promise2.done(function(message2) {
alert(message2);
});
});
Любые идеи? Я думал, что использование jQuery #pipe или #then будет работать, но я не могу понять это. Вот скрипка для игры: http://jsfiddle.net/Z7prn/