Что такое сокращение для установки зависимостей в отложенных объектах jQuery?

Есть ли у jQuery Deferred объекты какие-либо сокращения для установки зависимостей, т. Е. "Когда я закончу, эта штука тоже будет сделана?" Ниже кажется громоздким:

a = new jQuery.Deferred();
b = new jQuery.Deferred();

a.done(function(result){alert(result);});
b.done(function(result){a.resolve(result);}); // this line doesn't feel right

b.resolve("Hey there!")

Я бы хотел что-то вроде b.alsoResolves(a), Я посмотрел на документацию, но не могу найти ничего подходящего. Есть ли лучший способ создания зависимостей между отложенными объектами, чем приведенный выше?

1 ответ

Решение

Так как теперь мы можем последовательно регистрировать несколько обратных вызовов, лично я считаю более понятным устанавливать зависимости следующим образом:

a = $.Deferred();
b = $.Deferred();

a.done(fncDoStuffForA);

b.done(fncDoStuffForB);
b.done(a.resolve)

b.resolve("Hey there!")

http://jsfiddle.net/rkw79/cdkG3/

Другие вопросы по тегам