Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / react un whenever
whenever
Viens react bloks var saturēt vairākus
whenever blokus, katru vērojot citu supply. Bloks reaģē uz
to supply, kura izstaro nākamā, izpildot atbilstošo ķermeni:
my $sum = 0;
react {
whenever Supply.from-list(1, 2, 3) {
$sum += $_;
}
whenever Supply.from-list(10, 20) {
$sum += $_;
}
}
say $sum; # 36Abas supply tiek vērotas vienlaikus. To vērtības —
1, 2, 3 un 10, 20 — visas ietek
$sum, kas beigās ir 36. react
bloks beidzas tikai tad, kad pabeigtas ir abas
supply.
Katrs whenever reaģē neatkarīgi, tāpēc tieši šādi
straumes apvieno: viens whenever katram avotam, visi viena
un tā paša react iekšienē. Īsta programma vienā
whenever varētu vērot tīkla savienojumu un otrā — taimeri,
atsaucoties uz katru notikumu, kad tas pienāk.
whenever ķermenī jums ir izstarotā vērtība (kā
$_ vai nosaukts parametrs), un ar to var darīt jebko —
atjaunināt stāvokli, izstarot citā supply vai pat priekšlaicīgi aizvērt
react bloku ar done.
Prakse
Jūs gaida 2 viktorīnas par šī temata saturu.
Kursa navigācija
← Viktorīna — react | Viktorīna — whenever →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.