Beklerken AJAX senkron istek ve işlemler

Senkronize AJAX kullanarak sunucuyla iletişim kuran ExtJS istemci tarafı programım var. 1 saniyeden daha kısa sürede gelen yanıtların% 95'inden fazlası, ancak sunucunun 10 saniye veya daha fazla süre boyunca komutları çalıştırabileceği birkaç durum var. Bu yüzden bu bir hata olmadığını ("pls wait" formu) kullanıcıya anlatabilecek bir mekanizmaya ihtiyacım var.

Yani. Gibi bir şeye ihtiyacım var

  1. istek göndermek;
  2. setTimeOut ('yükleme formunu göster', 2 saniye);
  3. yanıtı bekle
  4. yükleme formunu kapat
  5. işlem yanıtı.

Senkronize AJAX yanıtını beklerken bazı işlevleri yürütmenin bir yolu var mı?

S. S: Eski miras nedeniyle senkron kullanırım, düzeltmenin bir yolu yoktur (en iyi yol - 6 aylık çalışma).

2
Hayır, şimdiye kadar eşzamanlı ajax'ı haklı çıkaramazsınız. IE9, sjax kullandığınızda çöküyor ve yanıyor. Bozuk kodu yeniden kodlayın.
katma yazar Raynos, kaynak
Başlangıçta, tüm istekleri el ile 1 saniyeden az bir sürede yanıtlıyoruz.
katma yazar katspaugh, kaynak
Chrome ve Firefox için buna ihtiyacım var (sadece son sürüm)
katma yazar TheHorse, kaynak
Sistemim için mümkün değil. Delphi'de, 9'dan fazla veriyi işliyor ...
katma yazar TheHorse, kaynak

2 cevap

Böyle bir yöntem yoktur, ancak asenkron istek devam ederken tüm olayları çırparak uygulanabilir ...

1
katma

Evet yapabilirsin. Buna eşzamansız jax denir. Bu, HTTP isteğinizi yaparken diğer şeyleri yapabileceğiniz anlamına gelir.

Ancak, senkronize jax ile bunu yapamazsınız.

JavaScript tek iş parçacığıdır.

Bu, eşzamanlı bir ajax isteğinin, bir ve yalnızca iş parçacığınızı engelleyeceği anlamına gelir.

Yapabileceğiniz en iyi şey, her bir sjax isteğinden önce bir yükleme ekranı gösterir ve her istekten sonra onu kaldırır.

0
katma
@TheHorse ne üzgünsün? Yapabilirsin. <�İ> Bir iş parçacığı ile, iki şeyi paralel olarak çalıştırabilen bir komut dosyası dilini uygulayabilirsiniz? Yap.
katma yazar Raynos, kaynak
Ben c ++ ile bunu yapabilirsiniz 1 iş parçacığı ile komut dili uygulayabilirsiniz.
katma yazar TheHorse, kaynak
Paralel değil. Çoklayıcıyı biliyor muydun?
katma yazar TheHorse, kaynak