Async e generatori
mo vir facc dichiara una funzione asincrona (async function) e aspett aspetta che una Promise finisca (await). Funziona anche con le frecce: mo vir (x) => …, e nei cicli: pe aspett (… dint …).
facc* nome() { … } dichiara un generatore (function*): ogni caccia valore produce il prossimo valore (yield). Un generatore si scorre con pe ogni o con lo spread.
chiamm { aspetta } da "fratm"
mo vir facc cucina(pizza) {
stamm a dì("Inforno", pizza)
aspett aspetta(300)
piglie pizza + " pronta"
}
mo vir facc servizio() {
chist è pizze = aspett Promise.all([cucina("margherita"), cucina("marinara")])
stamm a dì(pizze.join(", "))
}
servizio()
Output
Inforno margherita
Inforno marinara
margherita pronta, marinara pronta
facc* numeri(fino) {
pe (tien i = 1; i <= fino; i++) {
caccia i
}
}
pe ogni (chist è n dint numeri(3)) {
stamm a dì(n)
}
stamm a dì([...numeri(5)].join(" "))
Output
1
2
3
1 2 3 4 5