コールバック ピラミッドなしで JQuery Deferreds をチェーンして次々に実行する方法はありますか?
今、私はこのようなことをしなければなりません:
$.Deferred(function(dfd) {
setTimeout(function() {
console.log('Foo');
dfd.resolve();
}, 1000);
})
.done(function() {
$.Deferred(function(dfd) {
console.log('Bar');
dfd.resolve();
}).done(function() {
console.log('done');
});
});
出力: Foo、Bar、完了
私はこのようなことができるようにしたい:
$.Deferred(function(dfd) {
setTimeout(function() {
console.log('Foo');
dfd.resolve();
}, 1000);
})
.then($.Deferred(function(dfd) {
console.log('Bar');
dfd.resolve();
}))
.done(function() { console.log('done') });
望ましくない出力: Bar、Foo、完了
ありがとう。