Блуебирд је потпуно опремљена библиотека Промисе за ЈаваСцрипт. Најјача карактеристика Блуебирд-а је што вам омогућава да "промисификујете" друге Ноде модуле како бисте их асинхроно користили. Промисифи је концепт који се примењује на функције повратног позива. Овај концепт се користи да би се осигурало да свака позвана функција повратног позива врати неку вредност.
Дакле, ако Ноде ЈС модул садржи функцију повратног позива која не враћа вредност, и ако Промисификујемо нод модул, све функције у том одређеном чворном модулу аутоматски би биле измењене како би се осигурало да враћа вредност.
Дакле, можете да користите БлуеБирд да модул МонгоДБ ради асинхроно. Ово само додаје још један ниво лакоће приликом писања Ноде.јс апликација.
Погледаћемо пример како се користи модул блуебирд.
Наш пример ће прво успоставити везу са „Збирком запослених“ у бази података „ЕмплоиееДБ“. Ако се успостави веза „тада“, добиће све записе у колекцији и у складу с тим их приказати у конзоли.
Давање обећања помоћу БлуеБирд библиотеке
Корак 1) Инсталирање НПМ модула
Да бисте користили Блуебирд из апликације Ноде, потребан је Блуебирд модул. Да бисте инсталирали модул Блуебирд, покрените наредбу испод
нпм инсталирајте блуебирд
Корак 2) Следећи корак је укључивање модула блуебирд у ваш код и обећавање целокупног МонгоДБ модула. Под промисифи подразумевамо да ће блуебирд осигурати да свака метода дефинисана у МонгоДБ библиотеци врати обећање.
Објашњење кода: -
- Наредба рекуире користи се за укључивање библиотеке Блуебирд.
- Користите Блуебирд-ову .промисифиАлл () методу да креирате асинхронизацију верзије сваке методе коју пружа МонгоДБ модул. Ово осигурава да ће свака метода модула МонгоДБ радити у позадини и осигурава да се врати обећање за сваки позив методе у библиотеци МонгоДБ.
Корак 3) Последњи корак је повезивање са нашом базом података, преузимање свих записа из наше колекције и приказивање у нашем дневнику конзоле.
Објашњење кода: -
- Приметићете да користимо методу "цоннецтАсинц" уместо уобичајене методе повезивања за повезивање са базом података. Блуебирд заправо додаје кључну реч Асинц свакој методи у библиотеци МонгоДБ да би разликовао оне позиве који враћају обећања и оне који то не чине. Дакле, не постоји гаранција да ће методе без речи Асинц вратити вредност.
- Слично методи цоннецтАсинц, сада користимо методу финдАсинц за враћање свих записа у колекцији монгоДБ 'Запослени'.
- Коначно, ако финдАсинц врати успешно обећање, ми тада дефинишемо блок кода који ће прелазити кроз сваки запис у колекцији и приказивати их у дневнику конзоле.
Ако су горњи кораци правилно изведени, сви документи из колекције запослених биће приказани у конзоли као што је приказано у доњем излазу.
Ево кода за вашу референцу
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);})});