Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Najpierw 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

Poćwicz samodzielnie: Edytor online Express