-
Data: 2009-01-10 18:28:40
Temat: Re: Kolejkowanie w JavaScript
Od: porneL <n...@p...net> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=
- 2024-12-28 Warszawa => Programista Full Stack .Net <=
- 2024-12-28 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-28 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-28 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-28 Żerniki => Employer Branding Specialist <=
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty
- 2024-12-27 Zmiana kary
- 2024-12-27 Chiński elektrolizer tester wody