Bluebird NPM: وعد Bluebird JS مع مثال

ما هو بلوبيرد JS؟

Bluebird JS هي مكتبة وعد كاملة الميزات لـ Javaأقوى ميزة في Bluebird هي أنه يسمح لك بـ "الوعد" بوحدات Node الأخرى لاستخدامها بشكل غير متزامن. يعد "الوعد" مفهومًا يتم تطبيقه على وظائف الاستدعاء. يتم استخدام هذا المفهوم لضمان أن كل وظيفة استدعاء يتم استدعاؤها تعيد قيمة ما.

حتى إذا كان أ NodeJS تحتوي الوحدة النمطية على وظيفة رد اتصال لا تُرجع قيمة، وإذا وعدنا بوحدة العقدة، فسيتم تعديل جميع الوظائف في وحدة العقدة المحددة تلقائيًا للتأكد من أنها تُرجع قيمة.

لذلك يمكنك استخدام BlueBird لإنشاء MongoDB يتم تشغيل الوحدة النمطية بشكل غير متزامن. وهذا يضيف مستوى آخر من السهولة عند كتابة تطبيقات Node.js.

سنلقي نظرة على مثال لكيفية استخدام وحدة بلوبيرد.

سيقوم مثالنا أولاً بإنشاء اتصال بـ "مجموعة الموظفين" في قاعدة بيانات "EmployeeDB". إذا تم إنشاء اتصال "ثم"، فسيحصل على كافة السجلات الموجودة في المجموعة ويعرضها في وحدة التحكم وفقًا لذلك.

كيفية إنشاء الوعود باستخدام مكتبة Bluebird JS

هنا هو المثال خطوة بخطوة ل توليد الوعود مع مكتبة Bluebird JS:

الخطوة 1) تثبيت وحدات NPM

لاستخدام Bluebird من داخل تطبيق Node، يلزم توفر وحدة Bluebird. لتثبيت وحدة بلوبيرد، قم بتشغيل الأمر أدناه

تثبيت npm بلوبيرد

الخطوة 2) تضمين وحدات بلوبيرد

الخطوة التالية هي تضمين وحدة بلوبيرد في التعليمات البرمجية الخاصة بك والتعهد بها بالكامل MongoDB وحدة. بالوعد، نعني أن بلوبيرد ستضمن أن كل طريقة محددة في MongoDB المكتبة ترجع الوعد.

إنشاء الوعود باستخدام مكتبة Bluebird JS

شرح الكود :-

  1. يتم استخدام الأمر require لتضمين مكتبة Bluebird.
  2. استخدم طريقة .promisifyAll() من Bluebird لإنشاء إصدار غير متزامن لكل طريقة MongoDB توفر الوحدة. وهذا يضمن أن كل طريقة من MongoDB سيتم تشغيل الوحدة النمطية في الخلفية والتأكد من إرجاع الوعد لكل استدعاء أسلوب في MongoDB مكتبة.

الخطوة 3) الاتصال بقاعدة البيانات

الخطوة الأخيرة هي الاتصال بقاعدة البيانات الخاصة بنا، واسترداد جميع السجلات الموجودة في مجموعتنا وعرضها في سجل وحدة التحكم لدينا.

إنشاء الوعود باستخدام مكتبة Bluebird JS

شرح الكود :-

  1. ستلاحظ أننا نستخدم طريقة "connectAsync" بدلاً من طريقة الاتصال العادية للاتصال بـ قاعدة بيانات. في الواقع، يضيف Bluebird الكلمة الأساسية Async إلى كل طريقة في MongoDB المكتبة هي التي تميز بين تلك المكالمات التي تعيد الوعود وتلك التي لا تعيدها. لذا لا يوجد ضمان بأن الأساليب التي لا تحتوي على كلمة Async ستعيد قيمة.
  2. على غرار طريقة connectAsync، نستخدم الآن طريقة findAsync لإرجاع كافة السجلات الموجودة في مجموعة 'Employee' في mongoDB.
  3. أخيرًا، إذا أرجع findAsync وعدًا ناجحًا، فإننا نقوم بعد ذلك بتعريف كتلة من التعليمات البرمجية للتكرار عبر كل سجل في المجموعة وعرضها في سجل وحدة التحكم.

إذا تم تنفيذ الخطوات المذكورة أعلاه بشكل صحيح، فسيتم عرض كافة المستندات الموجودة في مجموعة الموظفين في وحدة التحكم كما هو موضح في الإخراج أدناه.

إنشاء الوعود باستخدام مكتبة Bluebird JS

هذا هو الكود للرجوع اليها:

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