Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Najpierw 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

Poćwicz samodzielnie: Edytor online Express