Bluebird NPM: Promessa Bluebird JS con esempio

Cos'รจ BluebirdJS?

Bluebird JS รจ una libreria Promise completa per JavaScript. La caratteristica piรน forte di Bluebird รจ che consente di "promisificare" altri moduli Node per utilizzarli in modo asincrono. Promisify รจ un concetto applicato alle funzioni di callback. Questo concetto รจ utilizzato per garantire che ogni funzione di callback chiamata restituisca un valore.

Quindi se a NodeJS Il modulo contiene una funzione di callback che non restituisce un valore e, se promettiamo il modulo del nodo, tutte le funzioni in quello specifico modulo del nodo verrebbero automaticamente modificate per garantire che restituisca un valore.

Quindi puoi usare BlueBird per creare il file MongoDB modulo eseguito in modo asincrono. Questo aggiunge solo un altro livello di facilitร  quando si scrivono applicazioni Node.js.

Vedremo un esempio di come utilizzare il modulo bluebird.

Il nostro esempio stabilirร  innanzitutto una connessione alla "Raccolta Employee" nel database "EmployeeDB". Se viene stabilita la connessione "allora", otterrร  tutti i record nella raccolta e li visualizzerร  di conseguenza nella console.

Come generare promesse con la libreria Bluebird JS

Ecco l'esempio passo passo per generare promesse con la libreria Bluebird JS:

Passaggio 1) Installazione dei moduli NPM

Per utilizzare Bluebird dall'interno di un'applicazione Node, รจ richiesto il modulo Bluebird. Per installare il modulo Bluebird, esegui il comando seguente

npm installa bluebird

Passaggio 2) Includi i moduli Bluebird

Il passaggio successivo รจ includere il modulo bluebird nel codice e promettere l'intero MongoDB modulo. Per promettere intendiamo che bluebird garantirร  che ogni singolo metodo definito nel file MongoDB la biblioteca restituisce una promessa.

Genera promesse con la libreria Bluebird JS

Code Spiegazione:-

  1. Il comando require viene utilizzato per includere la libreria Bluebird.
  2. Utilizzare il metodo .promisifyAll() di Bluebird per creare una versione asincrona di ogni metodo MongoDB il modulo fornisce. Ciรฒ garantisce che ciascun metodo del MongoDB verrร  eseguito in background e garantirร  che venga restituita una promessa per ogni chiamata al metodo nel file MongoDB biblioteca.

Passaggio 3) Connettersi al database

Il passaggio finale รจ connettersi al nostro database, recuperare tutti i record nella nostra raccolta e visualizzarli nel registro della nostra console.

Genera promesse con la libreria Bluebird JS

Code Spiegazione:-

  1. Noterai che stiamo utilizzando il metodo "connectAsync" invece del normale metodo di connessione per la connessione a banca dati. Bluebird aggiunge effettivamente la parola chiave Async a ciascun metodo in MongoDB libreria per distinguere quelle chiamate che restituiscono promesse da quelle che non lo fanno. Quindi non c'รจ garanzia che i metodi senza la parola Async restituiranno un valore.
  2. Similmente al metodo connectAsync, ora utilizziamo il metodo findAsync per restituire tutti i record nella raccolta 'Employee' di mongoDB.
  3. Infine, se findAsync restituisce una promessa riuscita, definiamo un blocco di codice per scorrere ogni record nella raccolta e visualizzarli nel registro della console.

Se i passaggi precedenti vengono eseguiti correttamente, tutti i documenti nella raccolta Employee verranno visualizzati nella console come mostrato nell'output seguente.

Genera promesse con la libreria Bluebird JS

Ecco il codice come riferimento:

var Promise = require('bluebird');

var mongoClient = Promise.promisifyAll(require('mongodb')).MongoClient;

var url = 'mongodb://localhost/EmployeeDB';
mongoClient.connectAsync('mongodb://localhost/EmployeeDB')

.then(function(db) {
        return db.collection('Employee').findAsync({})

    })
    .then(function(cursor) {
        cursor.each(function(err, doc) {
            console.log(doc);
        })
    });

Riassumi questo post con: