AJAX запыт сінхронны і аперацыі падчас чакання

У мяне ёсць ExtJS баку кліента праграмка, якая ўзаемадзейнічае з серверам, выкарыстоўваючы сінхроннае AJAX. Больш за 95% адказаў на тых, хто паступае менш за 1 секунду, але ёсць некалькі выпадкаў, калі сервер можа выконваць каманды на працягу 10 секунд або больш. Вось чаму мне патрэбны нейкі механізм, які можа сказаць карыстачу, што гэта не памылка ( «Калі ласка, пачакайце" форма)

Зв Мне трэба нешта накшталт

  1. адправіць запыт;
  2. <Літый> SetTimeout ( 'паказаць форму загрузкі', 2 сек);
  3. чакаць адказу
  4. <Літый> блізка загрузкі формы <Літый> рэакцыя працэсу.

Ці ёсць які-небудзь спосаб, каб выканаць якую-небудзь функцыю падчас чакання сінхроннага адказу AJAX?

P. S. Я выкарыстоўваю сінхронным з-за спадчыны, няма ніякага спосабу, каб выправіць гэта (лепшы спосаб - больш за 6 месяцаў працы).

2
Не, вы не можаце апраўдаць сінхронны Аякс калі-небудзь. IE9 аварый і апёкаў пры выкарыстанні sjax. Рэфактарынг дрэнны код.
дададзена аўтар Raynos, крыніца
У запуску мы ў адказ усё запыт на менш за 1 секунды ўручную.
дададзена аўтар katspaugh, крыніца
Мне гэта трэба для Chrome і Firefox (апошняй версіі)
дададзена аўтар TheHorse, крыніца
Не ўяўляецца магчымым для маёй сістэмы. Гэта на Delphi, апрацоўка больш за 9 Тб дадзеных ...
дададзена аўтар TheHorse, крыніца

2 адказы

Там няма такіх метадаў, але гэта можа быць ажыццяўляць шляхам падключэння ўсіх падзей падчас запыту асінхроннага збіраецца ...

1
дададзена

Так, вы можаце. Гэта называецца Асінхронны JAX. Гэта азначае, што ў той час як ваш рабіць ваш HTTP запыт вы можаце рабіць іншыя рэчы.

Тым не менш, з сінхронныя JAX, вы не можаце зрабіць гэта.

JavaScript однопоточен.

Гэта азначае, што запыт сінхронным Аякса будзе блакаваць ваш адзін і толькі нітку.

Лепшае, што вы можаце зрабіць, гэта паказаць экран загрузкі да <адной эм /> кожнага запыту sjax і выдаліць яго пасля кожнага запыту.

0
дададзена
@TheHorse жаль что? Ты можаш. Вы можаце рэалізаваць мова сцэнарыяў з адна нітка , якія могуць зрабіць дзве рэчы паралельна? Зрабіце гэта.
дададзена аўтар Raynos, крыніца
я магу рэалізаваць мова сцэнарыяў з 1 нітка якім можа зрабіць гэта, з дапамогай C ++.
дададзена аўтар TheHorse, крыніца
Не раўналежныя адзін аднаму. Ці ведалі вы пра мультыплексара?
дададзена аўтар TheHorse, крыніца