Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / Vivaj kaj laŭpetaj supply / Exercises / Malfrua konektiĝo
Solvo: Malfrua konektiĝo
Jen ebla solvo de la tasko.
Kodo
my $supplier = Supplier.new;
my @got;
$supplier.emit(1);
$supplier.Supply.tap(-> $v { @got.push($v) });
$supplier.emit(2);
$supplier.emit(3);
say @got;🦋 Vi povas trovi la fontkodon en la dosiero a-live-feed.raku.
Eligo
[2 3]Komentoj
La
Supplierestas la sendflanko; ĝia.Supplyestas tio, al kio vi konektiĝas. Viva supply elsendas nur al la konektoj aŭskultantaj en la momento de ĉiu eligo.La
emit(1)okazas antaŭ ol ekzistas ajna konekto, do ĝi perdiĝas — kiel agordiĝi al radiostacio post kiam kanto jam ludiĝis. Nur2kaj3, eligitaj post la konekto, estas kaptitaj, donante[2 3].