Wynik Promise
Część sekcji Podstawy Node.js ścieżki Node.js w Coddy. Lekcja 19 z 33.
Obietnica reprezentuje wynik, który pojawi się później. W przeciwieństwie do wersji z wywołaniem zwrotnym z node:fs, readFile z node:fs/promises nie przyjmuje wywołania zwrotnego i zwraca obietnicę. Jego metoda .then przyjmuje funkcję, którą wywoła z wynikiem, gdy odczyt się powiedzie.
import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
console.log('Hello, ' + name);
});Parametr name zawiera tekst pliku, a nie obietnicę. Kod, który zależy od tego tekstu, powinien znaleźć się tutaj. Na razie plik jest dostępny, a odczyt się powiedzie. W następnym kroku obsłużymy nieudany odczyt.
Wyzwanie
ŁatwyNajpierw uruchom practice.js: wypisuje Note: [object Promise]. Program łączy tekst z obietnicą zamiast z jej ostatecznym wynikiem.
Użyj funkcji zwrotnej .then, aby wypisać odczytany tekst jako Note: , po którym następuje tekst z pliku. Bez argumentu program odczytuje note.txt, wypisując Note: Buy milk. Wypróbuj other.txt: oczekiwany wynik to Note: Call Ada.
Spróbuj swoich sił
import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));
Wszystkie lekcje w sekcji Podstawy Node.js
1Uruchamianie JavaScript w Node
Witaj, NodeOdczytywanie poleceniaArgumenty wiersza poleceńPolecenia5Zdarzenia, dane wejściowe i pakiety
Nasłuchuj przed emisjąEmitery zdarzeńOdczytywanie danych wejściowychPoćwicz samodzielnie: Edytor online Express