Bluebird NPM: Bluebird JS Promise példával
Mi az a Bluebird JS?
A Bluebird JS egy teljes értékű Promise könyvtár a számára JavaForgatókönyv. A Bluebird legerősebb tulajdonsága, hogy lehetővé teszi más csomóponti modulok „megígérését” az aszinkron használat érdekében. A Promisify a visszahívási függvényekre alkalmazott fogalom. Ez a koncepció annak biztosítására szolgál, hogy minden meghívott visszahívási függvény adjon vissza valamilyen értéket.
Tehát ha a NodeJS modul tartalmaz egy visszahívási függvényt, amely nem ad vissza értéket, és ha megígérjük a csomópont modult, akkor az adott csomópontmodulban lévő összes függvény automatikusan módosul annak biztosítására, hogy értéket adjon vissza.
Így a BlueBird segítségével elkészítheti a MongoDB A modul aszinkron módon fut. Ez csak egy további könnyedséget ad a Node.js alkalmazások írásához.
Megnézünk egy példát a bluebird modul használatára.
Példánk először kapcsolatot létesít az „EmployeeDB” adatbázis „Employee collection” részével. Ha az „akkor” kapcsolat létrejön, akkor megkapja a gyűjtemény összes rekordját, és ennek megfelelően megjeleníti azokat a konzolon.
Ígéretek generálása a Bluebird JS Library segítségével
Íme a lépésről lépésre bemutatott példa ígéreteket generálni Bluebird JS könyvtárral:
1. lépés) Az NPM-modulok telepítése
A Bluebird Node alkalmazáson belüli használatához a Bluebird modul szükséges. A Bluebird modul telepítéséhez futtassa az alábbi parancsot
npm telepítse a bluebird-et
2. lépés) Tartalmazza a Bluebird modulokat
A következő lépés az, hogy a bluebird modult bele kell foglalni a kódba, és megígérni az egészet MongoDB modul. Promisify alatt azt értjük, hogy a bluebird gondoskodni fog arról, hogy minden egyes, a MongoDB A könyvtár ígéretet ad.
Code Magyarázat:-
- A request parancs a Bluebird könyvtár felvételére szolgál.
- Használja a Bluebird .promisifyAll() metódusát minden metódus aszinkron verziójának létrehozásához MongoDB modul biztosítja. Ez biztosítja, hogy minden módszer a MongoDB modul a háttérben fog futni, és biztosítja, hogy minden egyes metódushíváshoz ígéretet adjon vissza MongoDB könyvtár.
3. lépés) Csatlakozzon az adatbázishoz
Az utolsó lépés az adatbázisunkhoz való csatlakozás, a gyűjteményünk összes rekordjának lekérése és megjelenítése a konzolnaplónkban.
Code Magyarázat:-
- Észre fogja venni, hogy a „connectAsync” módszert használjuk a normál csatlakozási mód helyett a csatlakozáshoz adatbázis. A Bluebird valójában hozzáadja az Async kulcsszót az egyes metódusokhoz MongoDB könyvtárat, hogy megkülönböztesse azokat a hívásokat, amelyek ígéretet adnak, és azokat, amelyek nem. Tehát nincs garancia arra, hogy az Async szó nélküli metódusok értéket adnak vissza.
- A connectAsync metódushoz hasonlóan most is a findAsync metódust használjuk a mongoDB „Employee” gyűjtemény összes rekordjának visszaadására.
- Végül, ha a findAsync sikeres ígéretet ad vissza, akkor definiálunk egy kódblokkot a gyűjtemény minden egyes rekordján keresztül történő iterációhoz, és megjelenítjük azokat a konzolnaplóban.
Ha a fenti lépéseket megfelelően hajtja végre, az Alkalmazotti gyűjtemény összes dokumentuma megjelenik a konzolon, az alábbi kimeneten látható módon.
Íme a kód a referenciaként:
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);
})
});



