Bluebird NPM: Bluebird JS Promise med eksempel
Hvad er Bluebird JS?
Bluebird JS er et fuldt udstyret Promise-bibliotek til JavaManuskript. Den stรฆrkeste egenskab ved Bluebird er, at den giver dig mulighed for at "love" andre Node-moduler for at bruge dem asynkront. Promisify er et koncept, der anvendes til tilbagekaldsfunktioner. Dette koncept bruges til at sikre, at hver tilbagekaldsfunktion, der kaldes, returnerer en vis vรฆrdi.
Sรฅ hvis en NodeJS modul indeholder en tilbagekaldsfunktion, som ikke returnerer en vรฆrdi, og hvis vi lover nodemodulet, vil alle funktionerne i det specifikke nodemodul automatisk blive รฆndret for at sikre, at det returnerer en vรฆrdi.
Sรฅ du kan bruge BlueBird til at lave MongoDB modul kรธres asynkront. Dette tilfรธjer blot endnu et niveau af lethed, nรฅr du skriver Node.js-applikationer.
Vi vil se pรฅ et eksempel pรฅ, hvordan man bruger bluebird-modulet.
Vores eksempel vil fรธrst etablere en forbindelse til "Employee collection" i "EmployeeDB" databasen. Hvis "sรฅ" forbindelse er etableret, vil den hente alle posterne i samlingen og vise dem i konsollen i overensstemmelse hermed.
Sรฅdan genererer du lรธfter med Bluebird JS Library
Her er et trin for trin eksempel skabe lรธfter med Bluebird JS bibliotek:
Trin 1) Installation af NPM-modulerne
For at bruge Bluebird fra en Node-applikation krรฆves Bluebird-modulet. For at installere Bluebird-modulet skal du kรธre kommandoen nedenfor
npm installere bluebird
Trin 2) Inkluder Bluebird-moduler
Det nรฆste trin er at inkludere bluebird-modulet i din kode og love det hele MongoDB modul. Med lovende mener vi, at bluebird vil sikre, at hver eneste metode, der er defineret i MongoDB biblioteket giver et lรธfte.
Code Forklaring:-
- Kommandoen require bruges til at inkludere Bluebird-biblioteket.
- Brug Bluebirds .promisifyAll() metode til at oprette en asynkron version af hver metode MongoDB modul giver. Dette sikrer, at hver metode til MongoDB modulet kรธrer i baggrunden og sikrer, at et lรธfte returneres for hvert metodekald i MongoDB bibliotek.
Trin 3) Opret forbindelse til databasen
Det sidste trin er at oprette forbindelse til vores database, hente alle poster i vores samling og vise dem i vores konsollog.
Code Forklaring:-
- Du vil bemรฆrke, at vi bruger "connectAsync" -metoden i stedet for den normale forbindelsesmetode til at oprette forbindelse til database. Bluebird tilfรธjer faktisk nรธgleordet Async til hver metode i MongoDB bibliotek for at skelne de opkald, der giver lรธfter, og dem, der ikke gรธr. Sรฅ der er ingen garanti for, at metoder uden Async-ordet returnerer en vรฆrdi.
- I lighed med connectAsync-metoden bruger vi nu findAsync-metoden til at returnere alle poster i mongoDB 'Employee'-samlingen.
- Endelig, hvis findAsync returnerer et vellykket lรธfte, definerer vi en kodeblok, der skal gentages gennem hver post i samlingen og vise dem i konsolloggen.
Hvis ovenstรฅende trin udfรธres korrekt, vil alle dokumenterne i medarbejdersamlingen blive vist i konsollen som vist i outputtet nedenfor.
Her er koden til din reference:
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);
})
});



