-
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-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=