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

Spiegazione del codice: -

  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

Spiegazione del codice: -

  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);
        })
    });