اذهب إلى المحتوى
  • 0

ظهور رسالة الخطأ "handleError is not defined" في خادم Express.js

محمد الحربي36

السؤال

قمت بإنشاء قاعدة بيانات وعندما أحاول إضافة مستخدم جديد بدالة app.post وأقوم باختبارها بواسطة postman الريسبونس في البوستمان يعمل بشكل صحيح ولكن يظهر لي إرور في موجه الأوامر gitbash

مكتوب ReferenceError: handleError is not defined

والمفروض يطبع لي بيانات اليوزر الذي قمت بإضافته

وهذا الكود: 

الكود لا يظهر بالشكل الصحيح فقمت بإرفاقه كصورة

مشكلة mongoose.png

تم التعديل في بواسطة Hassan Hedr
توضيح العنوان
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يحدث خطأ عند إنشاء مستخدم جديد لكن هذا الخطأ يعالج ضمن تابع رد النداء Callback الممرر للتابع create ولا يرسل رد للمستخدم يوضح له المشكلة بل يكون قد أرسل سابقًا الر "تم إضافة المستخدم بنجاح"، أنصحك بالاطلاع أكثر على البرمجة اللامتزامنة في Node.js وفهم طريقة تعامل نود مع التوابع اللامتزامنة يمكنك الاستفادة من المقال التالي:

وكما تشير رسالة الخطأ التابع "handleError" المستخدم في السطر 85 لمعالجة الخطأ غير معرف، تأكد من استيراده أو تعريفه بشكل سليم لحل المشكلة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 16 دقائق مضت قال محمد الحربي24:

أقوم بتعريف handleError ؟

كيف؟

التابع handleError غير موجود أبدًا ضمن الملف وهو سبب المشكلة، إما أن تعرفه كالتالي:

function handleError(err) {
 // معالجة الخطأ
}

أو إذا كان موجودًا ضمن ملف آخر نستورده بشكل سليم كالتالي مع تبديل النقط بمسار الملف أو اسم الوحدة الموجود فيها التابع:

const { handleError } = require('...');

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 ساعات قال محمد الحربي24:

أخي ايش أكتب مكان "معالجة الخطأ"؟

بحثت ومالقيت الحل

يمكنك طباعة رسالة الخطأ نفسها:

function handleError(err) {
   // معالجة الخطأ
  console.log(err);
  return throw new Error('Error in Create User / dublicate user ');
}

أو أي منطق برمجي مناسب لنوع الخطأ الحاصل.

مثلاً فشلت عملية إنشاء المستخدم لأن بياناته مكررة على سبيل المثال

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...