Feathers: مثال على عدم التزامن / انتظار الخطافات المطلوبة

تم إنشاؤها على ٢٤ سبتمبر ٢٠١٧  ·  4تعليقات  ·  مصدر: feathersjs/feathers

سيكون من الرائع حقًا أن يعطي شخص ما مثالًا عمليًا لوظيفة الخطاف التي تستخدم نمط ES7 غير المتزامن / انتظار.

يولد المولد كعبًا مثل هذا:

// Use this hook to manipulate incoming or outgoing data.
// For more information on hooks see: http://docs.feathersjs.com/api/hooks.html

module.exports = function (options = {}) { // eslint-disable-line no-unused-vars
  return function myHook (hook) {
    // Hooks can either return nothing or a promise
    // that resolves with the `hook` object for asynchronous operations
    return Promise.resolve(hook);
  };
};

لم أجد طريقة لإجراء مكالمة منتظرة مثل

response = await request('https://whatever.com')

داخل myHook. أي مساعدة يحظى بتقدير كبير!

التعليق الأكثر فائدة

كنت أفكر هذا الصباح في إضافة بعض الأمثلة بالفعل.

ال 4 كومينتر

عليك فقط أن تجعل return function myHook متزامن:

// Use this hook to manipulate incoming or outgoing data.
// For more information on hooks see: http://docs.feathersjs.com/api/hooks.html

module.exports = function (options = {}) { // eslint-disable-line no-unused-vars
  return async function myHook (hook) {
    const body = await request('https://whatever.com');
    return hook;
  };
};

كنت أفكر هذا الصباح في إضافة بعض الأمثلة بالفعل.

شكرا جزيلا! بعد إزالة خطئي الغبي واستخدام مثالك ، كل شيء يعمل بشكل مثالي! أعتقد أنه من الجيد إضافة مثال إلى المستندات لأن عدم التزامن / انتظار يجعل الشفرة أكثر قابلية للقراءة.

تم قفل هذه المشكلة تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح مشكلة جديدة مع ارتباط لهذه المشكلة للأخطاء ذات الصلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات