Muhannad Bahurmoz نشر 11 يناير 2023 أرسل تقرير نشر 11 يناير 2023 (معدل) السلام عليكم و رحمة الله و بركاته , انا استخدم node.js مع express و mongoose و لدي استفسار بخصوص ال callback و ال ()then. , بحسب علمي ال ()then. تستخدم مع الوعود أو ال await , ولكن رأيت مطور يستخدم ال ()then. و ال callback سويًا كما في المثال التالي : let totalDocs = 0 model.countDocuments({}, (err, total) => { // <--- callback }).then((response) => { // <-- .then() totalDocs = parseInt(response) model.find({}, {}, skip_and_limit, (err, events) => { let chunk = [] let chunkSize = 3 for (let i = 0; i < events.length; i += chunkSize) { chunk.push(events.slice(i, chunkSize + i)) } res.render('event/index', { chunk: chunk, message: req.flash('info'), total: parseInt(totalDocs), pageNo: pageNo }) }) هل هذه الطريقة صحيحة أم لا ؟ و إذا لا ماذا يفضل أن استخدم في المثال السابق ؟ و شكرًا لكم تم التعديل في 11 يناير 2023 بواسطة مهند باهرمز 1 اقتباس
0 عمر قره محمد نشر 11 يناير 2023 أرسل تقرير نشر 11 يناير 2023 الطريقة صحيحة وليس فيها اي اشكال، ويمكنك استخدام كل من الطريقتين والفرق بينهما هو في طريقة الكتابة. انصحك بالاطلاع على التوثيق الرسمي من حسوب والذي يشرح الامر بشكل مفصل استخدام الكائن Promise في JavaScript 1 اقتباس
0 عبدالباسط ابراهيم نشر 11 يناير 2023 أرسل تقرير نشر 11 يناير 2023 كما في التعليق السابق فيمكنك استخدام الطريقة التي تفضلها ولكن ال async/await هي الطريقة الموصى بها كما في المثال التالي const documentCount = await userModel.countDocuments({}); console.log( "Number of users:", documentCount ); أو يمكنك استخدام then كالتالي someModel .estimatedDocumentCount() .then(docCount => { console.log(docCount) //and do one super neat trick }) .catch(err => { //handle possible errors }) للمزيد من المعلومات يمكنك قراءة توثيق mongoose 1 اقتباس
السؤال
Muhannad Bahurmoz
السلام عليكم و رحمة الله و بركاته ,
انا استخدم node.js مع express و mongoose و لدي استفسار بخصوص ال callback و ال ()then. ,
بحسب علمي ال ()then. تستخدم مع الوعود أو ال await , ولكن رأيت مطور يستخدم ال ()then. و ال callback سويًا كما في المثال التالي :
هل هذه الطريقة صحيحة أم لا ؟ و إذا لا ماذا يفضل أن استخدم في المثال السابق ؟
و شكرًا لكم
تم التعديل في بواسطة مهند باهرمز2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.