-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: porneL <n...@p...net>
Newsgroups: pl.comp.programming
Subject: Re: Kolejkowanie w JavaScript
Date: Sat, 10 Jan 2009 18:28:40 -0000
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 35
Message-ID: <o...@a...local>
References: <gkaa45$8op$1@mx1.internetia.pl> <o...@a...local>
<gkalog$fpv$1@mx1.internetia.pl> <gkamoq$60e$1@nemesis.news.neostrada.pl>
<gkanca$9f4$1@mx1.internetia.pl>
NNTP-Posting-Host: cpc4-acto9-0-0-cust565.brnt.cable.ntl.com
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1231612121 10158 86.13.122.54 (10 Jan 2009 18:28:41 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 10 Jan 2009 18:28:41 +0000 (UTC)
X-User: pornelspam
User-Agent: Opera Mail/10.00 (MacIntel)
Xref: news-archive.icm.edu.pl pl.comp.programming:180694
[ ukryj nagłówki ]On Sat, 10 Jan 2009 17:46:31 -0000, Krzysztof Antczak <k...@l...pl> wrote:
>> funkcja[n]_czeka=true;
>> settimeout(....)...
>> ...
>> funkcja[n]_czeka=false;
>
> Mniej więcej tak też próbowałem, chociaż wcześniej nie znałem sposobu
> przeiterowania po zdefiniowanych funkcjach w silniku JS.
Nie da się. W JS funkcje są zwykłymi obiektami, które mogą być tworzone w każdej
chwili i nawet nie muszą być przypisane do żadnego obiektu. Iterowanie po wszystkich
funkcjach w JS to jak interowanie po wszystkich intach w C.
np. queue.add(function(){}) // kompletnie anonimowa - nie znajdziesz jej w window ani
innym obiekcie (nie licząc arguments w wywołaniu add())
queue.add((function(){ // dostaniesz anonimową funkcję odwołującą się do
zmiennej lokalnej - nie masz szans na inspekcję f().
var f = function(){}
return function(){ f() }
})())
var s;
queue.add(function(){s()}) // nie dowiesz się, że funkcja używa setTimeout
s = window.setTimeout
Z drugiej strony, jeśli nie pasi ci asynchroniczność setTimeout, to nie musisz
zakrzywiać całej czasoprzestrzeni. Możesz zmienić te funkcje:
window.setTimeout = function( f, timeout ) { f() }
Powyższa implementacja jest zbyt uproszczona - brak kompatybilności ze starą
składnią, dodatkowymi parametrami i obsługi clearTimeout(), ale to wszystko jest
wykonalne. Zobacz jak JSowe frameworki do Unit Testów to robią.
--
http://sblam.com
this.author = new Geek("porneL");
Następne wpisy z tego wątku
- 10.01.09 19:17 Krzysztof Antczak
- 10.01.09 19:50 Rafal\(sxat\)
- 11.01.09 15:29 emil
- 11.01.09 16:18 Krzysztof Antczak
- 12.01.09 03:00 Rafal\(sxat\)
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-08 Cięcie wysokich tui
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS