🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153655

Re: jquery callback i pętla

#153655
From: Arivald
Date: Fri, 23 Nov 2012 07:43
45 lines
2573 bytes
W dniu 2012-11-23 01:20, Piotr Rezmer pisze:
> Witam
>
> Chcialbym osiągnąć następujący efekt: Wczytywanie obiektu JSON za pomocą
> asynchronicznejgo .getJSON(). Wczytywanie powinno się odbywać
> cyklicznie, zaraz po zakończeniu wczytywania poprzedniego obiektu. Czy
> mogę umieścić ponowne wywołanie funkcji w callbacku? Czyli cos takiego
>
>      function parseResponse( data ) {
>              ... // process data
>              getJsonInLoop();
> }
>      function getJsonInLoop() {
>          $.getJSON("/embedded/WaitForChanges",
>        {
>          extension: "1103",
>          changedate: lastchange,
>          tagmode: "any",
>          format: "json"
>        },
>        function(data) {
>            parseResponse( data );
>        });
>      }
>
> Nie nastąpi po pewnym czasie stack overflow?
>

To chyba zależy od implementacji, od tego jak jest realizowana 
asynchroniczność getJSON.

Ja do podobnego efektu, bez jquery, używałem SetTimeout() z bardzo 
krótkim czasem.
Tylko jako funkcji do SetTimeout() nie podawaj stringa ani funkci 
anonimowej tworzonej ad-hoc, bo to może powodować wyciek pamięci.

btw "success-handler" dla getJSON tez lepiej żeby to nie była funkcja 
anonimowa. Bo one też tworzona jest ad-hoc, za każdym razem nowa kopia.

Lepiej stworzyć sobie obiekt który się tym całym taskiem zajmuje, i 
zarówno funkcje timeouta jak i success-handler zdefiniować w obiekcie. 
Wtedy jedna i ta same kopia będzie używana.

-- 
Arivald
Technical Details
Message-ID: <k8n9f6$h2t$1@news.dialog.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.task.gda.pl!news.dialog.net.pl!not-for-mail
References: <50aec14a$0$26694$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.task.gda.pl!news.dialog.net.pl!not-for-mail
From: Arivald <NOSPAMarivald@interia.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: jquery callback i pętla
Date: Fri, 23 Nov 2012 08:43:22 +0100
Organization: Dialog Net
Lines: 46
Message-ID: <k8n9f6$h2t$1@news.dialog.net.pl>
References: <50aec14a$0$26694$65785112@news.neostrada.pl>
NNTP-Posting-Host: dynamic-78-9-151-235.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1353656614 17501 78.9.151.235 (23 Nov 2012 07:43:34 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Fri, 23 Nov 2012 07:43:34 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0
In-Reply-To: <50aec14a$0$26694$65785112@news.neostrada.pl>
X-Antivirus: avast! (VPS 121122-1, 2012-11-22), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit