Belajar node js

Tutorial Promise Bluebird

Tutorial Promise Bluebird

Bluebird adalah library Promise JavaScript berfitur lengkap. Fitur ungulannya adalah memungkinkan Anda untuk “promisify”, membuat modul Node lain menjadi promise, untuk menggunakan modul Node tersebut secara asynchronous (asinkronus). Promisify adalah konsep yang diterapkan pada fungsi callback. Konsep ini digunakan untuk memastikan bahwa setiap fungsi callback yang dipanggil akan mengembalikan sejumlah value.

Jadi jika modul Node JS berisi fungsi callback yang tidak mengembalikan value, dan jika kita Promisify modul node, semua fungsi yang terdapat pada modul node tertentu itu akan secara otomatis dimodifikasi untuk memastikan bahwa modul tersebut mengembalikan value.

Jadi, Anda dapat menggunakan BlueBird untuk membuat modul MongoDB berjalan secara asynchronous. Hal ini hanya memberikan kemudahan lainnya saat menulis aplikasi Node.js.

Kita akan melihat contoh cara menggunakan modul bluebird.

Pada contoh kita, pertama-tama kita akan membuat koneksi ke “Employee collection” (koleksi karyawan) pada database “EmployeeDB”. Jika koneksi “then” dibuat, maka koneksi tersebut mengambil semua record yang ada dalam koleksi dan menampilkannya pada konsol yang sesuai.

Membuat promise dengan library BlueBird

Langkah 1) Menginstal Modul NPM

Dibutuhkan modul Bluebird untuk menggunakan Bluebird dari aplikasi Node. Untuk menginstal modul Bluebird, jalankan perintah di bawah ini.

npm install bluebird

Langkah 2) Langkah selanjutnya adalah memasukkan modul bluebird ke dalam kode Anda dan promisify seluruh modul MongoDB. Kita ingin bahwa dengan melakukan promisify, bluebird akan memastikan bahwa setiap metode yang yang ditetapkan di dalam library MongoDB mengembalikan promise.

Penjelasan Kode:-

  1. Perintah require digunakan untuk memasukkan library Bluebird.

  2. Gunakan metode .promisifyAll() milik Bluebird untuk membuat sebuah versi async dari setiap metode yang disediakan oleh MongoDB. Hal ini dilakukan untuk memastikan bahwa setiap metode dari modul MongoDB akan dijalankan pada background dan memastikan suatu promise dikembalikan pada setiap pemanggilan metode dalam library MongoDB.

Langkah 3) Langkah terakhir adalah menghubungkan ke database kita dengan cara mengambil semua record dalam koleksi kita dan menampilkannya pada log konsol kita.

Penjelasan Kode:-

  1. Anda akan melihat bahwa kita menggunakan metode “connectAsync”, bukan metode koneksi normal untuk terhubung ke database. Bluebird menambahkan kata kunci Async ke setiap metode di library MongoDB untuk membedakan panggilan mana yang mengembalikan promise dan mana yang tidak. Jadi tidak ada jaminan bahwa metode yang tidak memiliki kata Async akan mengembalikan value.

  2. Mirip dengan metode connectAsync, sekarang kita menggunakan metode findAsync untuk mengembalikan semua record dalam koleksi ‘Employee’ mongoDB.

  3. Terakhir, jika findAsync mengembalikan promise yang sukses, selanjutnya kita menetapkan satu blok kode untuk mengulangi setiap record dalam koleksi dan menampilkannya pada log konsol.

Jika langkah-langkah di atas dilakukan dengan benar, semua dokumen dalam koleksi Employee (karyawan) akan ditampilkan pada konsol seperti yang ditunjukkan pada output di bawah ini.

Ini adalah kode untuk referensi 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);

})

});

Leave a Reply

Your email address will not be published. Required fields are marked *