![]() ![]() |
Post
#1
|
|
|
Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%)
|
Od jakiegoś czasu bawie się asynchroniczymi wywołaniami. Muszę przyznac że gdy moja biblioteka obsługująca wywołania rozrosła się korzystanie ztakiej fomy pobierania danych stało się całkiem wygodne. Jednak jeden szczegół nie pozwala mi w pełni się cieszyć z tej metody.
Mianowicie choci o to że każde pobieranie danych muci być obsłuzone przez funkcje callbackową. Powoduje to znaczne pogorszenie komfortu programowania ponieważ nie możemy pobrać danych bezpośrednio do zmiennej i jednocześnie przerzucamy część logiki która owinna się znaleźć tuż przy wywołaniu do innej funkcji. Przykład:
Wiem że powyższy przykład wygląda całkiem niegroźnie ale przy bardziej skomplikowanych operacjach robi się już bałagan. W pierwszym momencie rozwiązanie wydalo mi się banalnie proste. Aby zwrócić odpowiedź serwera wystaczy poczekać aż zostanie ona cała załadowana i przekazać ją dalej. Coś w stylu: Cytat do { //jakas petla "usypiajaca" } while(ajax.http.readyState != 4); Okazuje sie jednak że przy takiej operacji readyState zawsze pozostaje jedynką , a nieskończona pętla wiesza przegladarki. Przeszukałem naprawde spory kawałek sieci i nie udalo mi się znaleźć rozwiązania (oczywiście nie jest nim microsoftowski serverXMLHTTPReqquest ). Dlatego zwracam się do Was z prośbą o pomoc, bo co 11 044 głowy to nie jedna (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . ----edit---- Bykom STOP(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! ~mike_mech |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 15:29 |