eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingKolejkowanie w JavaScript › Re: Kolejkowanie w JavaScript
  • 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");

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: