Oczekiwanie na wartość
Część sekcji Podstawy Node.js ścieżki Node.js w Coddy. Lekcja 22 z 33.
Wyrażenie await pozwala zapisać następny krok po odczycie, zamiast wewnątrz funkcji zwrotnej then. Czeka na tę obietnicę i zwraca jej wynik. Podczas oczekiwania na odczyt może nadal działać inna praca.
const text = await readFile('name.txt', 'utf8');
console.log(text.toUpperCase());Bez await zmienna text przechowywałaby obietnicę, która nie ma metod ciągów znaków. Te pliki są modułami, więc await jest dozwolone poza funkcją. Wewnątrz funkcji oznacz ją jako async. Funkcja async również zwraca obietnicę wywołującemu ją kodowi.
Wyzwanie
ŁatwyNajpierw uruchom practice.js. Błąd mówi, że text.toUpperCase is not a function: text zawiera obietnicę, a nie tekst z pliku.
Spraw, aby text zawierało odczytany plik, zanim program go użyje. Zachowaj asynchroniczną funkcję plikową. Uruchom ponownie: wynikiem jest BUY MILK.
Uruchom z argumentem other.txt: podany drugi plik musi wyświetlić CALL ADA. Zachowaj wyrażenie z nazwą pliku.
Spróbuj swoich sił
import { readFile } from 'node:fs/promises';
const text = readFile(process.argv[2] ?? 'note.txt', 'utf8');
console.log(text.toUpperCase());
Wszystkie lekcje w sekcji Podstawy Node.js
1Uruchamianie JavaScript w Node
Witaj, NodeOdczytywanie poleceniaArgumenty wiersza poleceńPolecenia4Asynchroniczny Node
Korzystanie z wyniku funkcji zwrotnejFunkcje zwrotneWynik PromiseGdy Promise zawiedziePromiseOczekiwanie na wartośćAsync i AwaitDwa niezależne odczytyPromise.allPętla zdarzeńTimery5Zdarzenia, dane wejściowe i pakiety
Nasłuchuj przed emisjąEmitery zdarzeńOdczytywanie danych wejściowychPoćwicz samodzielnie: Edytor online Express