Что такое сокращение для установки зависимостей в отложенных объектах 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!")