Tutorial Janji Bluebird

Isi kandungan:

Anonim

Bluebird adalah perpustakaan Promise yang lengkap untuk JavaScript. Ciri terkuat Bluebird adalah bahawa ia membolehkan anda "menjanjikan" modul Node lain untuk menggunakannya secara tidak segerak. Promisify adalah konsep yang diterapkan untuk fungsi panggilan balik. Konsep ini digunakan untuk memastikan bahawa setiap fungsi panggilan balik yang dipanggil mengembalikan beberapa nilai.

Oleh itu, jika modul Node JS mengandungi fungsi panggilan balik yang tidak mengembalikan nilai, dan jika kita Menjanjikan modul simpul, semua fungsi dalam modul nod tertentu akan diubah secara automatik untuk memastikan bahawa ia mengembalikan nilai.

Oleh itu, anda boleh menggunakan BlueBird untuk menjadikan modul MongoDB berjalan secara tidak segerak. Ini hanya menambah tahap kemudahan semasa menulis aplikasi Node.js.

Kami akan melihat contoh cara menggunakan modul bluebird.

Contoh kami pertama kali akan membuat sambungan ke "Koleksi pekerja" dalam pangkalan data "EmployeeDB". Sekiranya sambungan "maka" dibuat, maka ia akan mendapat semua rekod dalam koleksi dan memaparkannya di konsol dengan sewajarnya.

Menjana janji dengan perpustakaan BlueBird

Langkah 1) Memasang Modul NPM

Untuk menggunakan Bluebird dari dalam aplikasi Node, modul Bluebird diperlukan. Untuk memasang modul Bluebird, jalankan arahan di bawah

npm pasang bluebird

Langkah 2) Langkah seterusnya adalah memasukkan modul bluebird dalam kod anda dan menjanjikan keseluruhan modul MongoDB. Dengan janji, kami bermaksud bahawa bluebird akan memastikan bahawa setiap kaedah yang ditentukan dalam perpustakaan MongoDB mengembalikan janji.

Penjelasan Kod: -

  1. Perintah memerlukan digunakan untuk memasukkan perpustakaan Bluebird.
  2. Gunakan kaedah .promisifyAll () Bluebird untuk membuat versi async bagi setiap kaedah yang disediakan oleh modul MongoDB. Ini memastikan bahawa setiap kaedah modul MongoDB akan berjalan di latar belakang dan memastikan bahawa janji dikembalikan untuk setiap panggilan kaedah di perpustakaan MongoDB.

Langkah 3) Langkah terakhir adalah menyambung ke pangkalan data kami, mengambil semua rekod dalam koleksi kami dan memaparkannya di log konsol kami.

Penjelasan Kod: -

  1. Anda akan melihat bahawa kami menggunakan kaedah "connectAsync" dan bukannya kaedah sambungan biasa untuk menyambung ke pangkalan data. Bluebird sebenarnya menambahkan kata kunci Async untuk setiap kaedah di perpustakaan MongoDB untuk membezakan panggilan yang mengembalikan janji dan yang tidak. Jadi tidak ada jaminan bahawa kaedah tanpa kata Async akan mengembalikan nilai.
  2. Sama dengan kaedah connectAsync, kita sekarang menggunakan kaedah findAsync untuk mengembalikan semua rekod dalam koleksi 'Employee' mongoDB.
  3. Akhirnya, jika findAsync mengembalikan janji yang berjaya, kita kemudian menentukan sekumpulan kod untuk melakukan lelaran melalui setiap rekod dalam koleksi dan memaparkannya dalam log konsol.

Sekiranya langkah-langkah di atas dijalankan dengan baik, semua dokumen dalam koleksi Pekerja akan dipaparkan di konsol seperti yang ditunjukkan dalam output di bawah.

Inilah kod untuk rujukan anda

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);})});