Короче говоря, я хотел бы иметь один общий обратный вызов, который всегда срабатывает в случае успешного вызова ajax, за которым следуют отдельные функции обратного вызова в зависимости от того, где вызывается метод.Цепочка нескольких обработанных() обратных вызовов к тому же отложенному обещанию
Это похоже на работу. Мой вопрос в том, что это правильное использование объекта обещания, и если можно с уверенностью предположить, что множественные взаимные обратные вызовы одного типа всегда стекают последовательно?
var dfd = $.Deferred(),
promise = dfd.promise();
promise.done(function(){
console.log(1);
}).done(function(){
console.log(2);
});
dfd.resolve();
Я надеялся, что вы найдете эту тему;) Когда вы говорите «обычно. все равно. Я полагаю, что вы ссылаетесь на цепочку, а не на 'done' vs' then' вообще? Я думаю, что наиболее подходящий подход, основанный на вашем комментарии, будет заключаться в использовании 'then()', за которым следует «завершающий» 'done()', хотя я имею дело только с синхронным кодом в этом случае? – Johan
@ Johan вообще я предпочитаю 'then'' to' done' при использовании новых библиотек обещаний. В jQuery, с другой стороны, использование '.done' для прекращения цепочки выгодно - так что да, опять же это не самая большая проблема с обещаниями jQuery. –
Согласовано. Спасибо, что узнали мне разницу между ними! – Johan