Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / await
Pabeigšanas gaidīšana
await ir tiešais gaidīšanas veids, taču reaktīvs kods
arī gaida — tikai netieši. react bloks nebeidzas, kamēr nav
pabeigtas visas plūsmas, ko tas vēro, un tas dod to pašu «viss ir
pabeigts» garantiju:
my @values;
react {
whenever Supply.from-list(2, 4, 6) {
@values.push($_);
}
}
say [+] @values; # 12say izpildās tikai pēc tam, kad
react bloks ir beidzies, tāpēc @values jau
satur katru izstaroto vērtību. Faktiski react bloks plūsmu
sagaidīja jūsu vietā.
Šis ir noderīgs paņēmiens: izmantojiet react bloku, lai
savāktu visu, ko plūsma izstaro, un pēc tam nākamajā rindā strādājiet ar
savākto rezultātu, būdami droši, ka plūsma ir pabeigta. Vai jūs gaidāt
solījumu ar await vai plūsmu ar react,
princips ir tas pats — apstāties, līdz konkurentais darbs ir padarīts,
un tad turpināt ar tā rezultātiem.
Kursa navigācija
← Viktorīna — await un sleep | Sagaidiet solījumu →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.