Node.js: quando usare i metodi sincroni per leggere e scrivere i file

Node.js: quando usare i metodi sincroni per leggere e scrivere i file

In Node.js la lettura e la scrittura dei file non dovrebbero mai bloccare l'event loop.

I metodi sincroni per la lettura e la scrittura dei file del modulo fs esistono unicamente per venire incontro a due requisiti specifici:

  1. I dati da leggere e da scrivere sono di dimensioni modeste e tali dimensioni sono stabili e fisse nel tempo.
  2. Un metodo asincrono non consentirebbe il corretto funzionamento della feature scelta.

Ad esempio:


'use strict';

const express = require('express');
const https = require('https');
const fs = require('fs');
const app = express();

const SSLOptions = {
    key: fs.readFileSync('privkey.pem'),
    cert: fs.readFileSync('fullchain.pem')
};

https.createServer(SSLOptions, app).listen(8080);

In questo caso è richiesta una stringa sia per la chiave privata che per il certificato SSL. Tali file sono di modeste dimensioni e tali dimensioni non cambiano nel tempo, ossia sono predeterminate. Al contrario se dovessimo leggere il contenuto di un'immagine dovremmo usare il metodo asincrono o gli stream, poiché non conosciamo in anticipo le dimensioni del file e tali dimensioni sono variabili.

Torna su