⚡ Async/Await

Asynchroniczne wykonywanie kodu używa funkcji async() i await().

Podstawowe użycie

fn heavyTask(n) { let sum = 0; for (let i = 0; i < n; i++) { sum += i; } return sum; } // Uruchom asynchronicznie let future = async(heavyTask, 10000); // Rób inne rzeczy... print("Working..."); // Poczekaj na wynik let result = await(future); print("Result: " + result);

Wiele równoległych zadań

let f1 = async(heavyTask, 1000); let f2 = async(heavyTask, 2000); let f3 = async(heavyTask, 3000); // Czekaj na wszystkie let r1 = await(f1); let r2 = await(f2); let r3 = await(f3);

Moduł async

use "async"; // Sleep/delay sleep(1000); // Czekaj 1s // setTimeout setTimeout(fn() { print("Later!"); }, 2000); // setInterval setInterval(fn() { print("Tick"); }, 1000); // all - czekaj na wszystkie let results = all(f1, f2, f3); // race - pierwszy zakończony let first = race(f1, f2, f3);