Menu
CoddyTech

Il risultato di una Promise

Fa parte della sezione Fondamenti di Node.js del percorso Node.js di Coddy. Lezione 19 di 33.

Una promise rappresenta un risultato che arriverà in seguito. A differenza della versione con callback di node:fs, readFile di node:fs/promises non accetta callback e restituisce una promise. Il suo metodo .then accetta una funzione da chiamare con il risultato quando la lettura riesce.

import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
    console.log('Hello, ' + name);
});

Il parametro name contiene il testo del file, non una promise. Le operazioni che dipendono dal testo vanno inserite qui. Per ora il file è disponibile e la lettura riesce. Il passaggio successivo gestirà una lettura non riuscita.

challenge icon

Sfida

Facile

Esegui prima practice.js: stampa Note: [object Promise]. Il programma concatena il testo alla promise invece che al risultato ottenuto al suo completamento.

Usa una callback .then per stampare la lettura completata come Note: seguito dal testo del file. Senza argomenti, legge note.txt e restituisce Note: Buy milk. Prova other.txt: aspettati Note: Call Ada.

Provalo tu

import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));

Tutte le lezioni di Fondamenti di Node.js

Esercitati da solo: Playground Express