A Bluebird egy teljes funkcionalitású Promise könyvtár a JavaScript számára. A Bluebird legerősebb tulajdonsága, hogy lehetővé teszi más Node modulok "ígéretét" annak aszinkron felhasználása érdekében. Az Promisify a visszahívási funkciókra alkalmazott fogalom. Ezt a koncepciót használják annak biztosítására, hogy minden hívott visszahívási funkció visszatérjen valamilyen értékhez.
Tehát, ha egy Node JS modul tartalmaz visszahívási függvényt, amely nem ad vissza értéket, és ha megengedjük a csomópont modult, akkor az adott csomópont modul összes funkciója automatikusan módosul annak biztosítása érdekében, hogy értéket adjon vissza.
Tehát a BlueBird segítségével a MongoDB modult aszinkron módon futtathatja. Ez csak egy újabb szintet jelent a Node.js alkalmazások írásakor.
Megtekintü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" -jához. Ha létrejön az "akkor" kapcsolat, akkor a gyűjtemény összes rekordját megkapja, és ennek megfelelően megjeleníti a konzolban.
Ígéretek generálása a BlueBird könyvtárral
1. lépés: Telepítse az NPM modulokat
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: A következő lépés a bluebird modul beépítése a kódba, és a teljes MongoDB modul ígérete. Az ígéret alatt azt értjük, hogy a kékmadár biztosítja, hogy a MongoDB könyvtárban definiált minden egyes módszer ígéretet adjon vissza.
Kód Magyarázat: -
- A szükséges parancs a Bluebird könyvtár beillesztésére szolgál.
- Használja a Bluebird .promisifyAll () metódusát a MongoDB modul által biztosított összes módszer aszinkron változatának létrehozásához. Ez biztosítja, hogy a MongoDB modul minden módszere a háttérben fog futni, és biztosítja, hogy a MongoDB könyvtárban található minden egyes metódushíváshoz ígéretet adjanak vissza.
3. lépés: Az utolsó lépés az, hogy csatlakozzon az adatbázisunkhoz, lekérje a gyűjteményünk összes rekordját és megjelenítse őket a konzol naplójában.
Kód Magyarázat: -
- Észre fogja venni, hogy a "connectAsync" módszert alkalmazzuk az adatbázishoz való csatlakozás szokásos módszere helyett. A Bluebird valójában hozzáadja az Async kulcsszót a MongoDB könyvtár minden módszeréhez, hogy megkülönböztesse azokat a hívásokat, amelyek ígéreteket adnak vissza, és azokat, amelyek nem. Tehát nincs garancia arra, hogy az Async szó nélküli módszerek értéket adnak vissza.
- Hasonlóan a connectAsync metódushoz, most is a findAsync metódust használjuk a mongoDB 'Employee' gyűjtemény összes rekordjának visszaadásához.
- Végül, ha a findAsync sikeres ígéretet ad, akkor definiálunk egy kódblokkot, hogy a gyűjtemény minden rekordját megismételjük, és megjelenítsük a konzolnaplóban.
Ha a fenti lépéseket megfelelően hajtják végre, az Alkalmazott gyűjtemény összes dokumentuma megjelenik a konzolon, az alábbi kimeneten látható módon.
Itt található a hivatkozás kódja
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);})});