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.
Code Spiegazione:-
- Il comando require viene utilizzato per includere la libreria Bluebird.
- 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.
Code Spiegazione:-
- 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.
- Similmente al metodo connectAsync, ora utilizziamo il metodo findAsync per restituire tutti i record nella raccolta 'Employee' di mongoDB.
- 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.
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);
})
});



