Сообщение от Gvozd
|
Или между выполнением .ajax(fn1) и .ajax(fn2) может быть выполнен еще какой-нибудь код?
а вот выполняется код уже асинхронно(я ж полагаю, между срабатыванием fn1 и срабатыванием fn2 браузер не зависает, и может быть выполнен другой код?), хотя и последовательно(опять-таки предположение).
|
все верно. браузер не виснет
Небыло никогда необходимости сделать ассинхронные запросы но что бы они были выполненныс последовательно?
для этого как все мы знаем, мы проделываем такое:
ajax({...,onSuccess:function(){ ajax({...,onSuccess}) }});
А если таких запросов куча? такой код и читать сложно а уж темболее писать.
А отличие от Deffered? А я так и не понял что они там намутили. Суть моей системы в том что я могу цепочку из команд и каждая команда будет поочередно выполнятся, но не сразу друг за другом по времени.
Цитата:
|
Deferred Object, аналогично объекту jQuery, «цепочный» (chainable), но имеет свой набор методов
|
У меня же ассинхронность распространяется абсолютно на все методы обьекта.
А как такое реализует Deffered:
A=$().test('a').test('b').sync(true);
setTimeout(function(){
A.sync(false);
},1000)
A.test('c').sync(function(){
this.sync(true).test('e').test('f');
console.log(11);
return this;
}).test('d').test('g');
console.log('end');
В логе следующее:
a
b
end
проходит секунда
c
11
e
f
d
g
при этом this.sync(true).test('e').test('f'); может и не исполнятся тогда после "11" будет просто d и g