"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل .then(function(a){ return a; }) أمر محظور للوعود؟

هل .then(function(a){ return a; }) أمر محظور للوعود؟

تم النشر بتاريخ 2024-11-16
تصفح:711

Is .then(function(a){ return a; }) a No-Op for Promises?

هل .then(function(a){ return a; }) لا يجوز تنفيذ الوعود؟

في مجال الوعود ، لقد نشأت مسألة ما إذا كانت .then(function(a){ return a; }) هي عملية عدم. دعونا نلقي الضوء على هذا الاستعلام الغريب:

نعم، عادةً ما يكون ذلك أمرًا محظورًا.

يتلقى الكود المعني القيمة المرتجعة للوعد السابق في ملف سلسلة عبر الدالة التي تم تمريرها إلى .then(). ومع ذلك، إذا كانت هذه الوظيفة تقوم فقط بإرجاع الإدخال a، فإنها تتجاوز بشكل فعال أي معالجة أو تحويل لنتيجة الوعد. وهذا يجعلها خطوة إضافية غير ضارة ولكنها غير ضرورية في مسار الوعد.

لماذا تمت كتابتها بهذه الطريقة؟

من المحتمل أن يكون خطأ مطبعي أو بقايا من المفاهيم الخاطئة السابقة حول الوعود. عندما تم تقديم الوعود، اعتقد بعض المطورين خطأً أن .then() بحاجة إلى إرجاع وعد لمواصلة السلسلة. ونتيجة لذلك، أضافوا هذا الاستدعاء .then() غير الضروري للتأكد من أن القيمة التي يتم إرجاعها تظل دائمًا وعدًا، حتى لو كانت مطابقة للمدخل.

الفرق بين إرجاع .then() و حذفه

رغم أنه مكافئ لغويًا، إلا أن هناك اختلافات طفيفة بين إرجاع .then() وحذفه:

  • مثيل الوعد الجديد: .then () ينشئ نسخة وعد جديدة، بينما يؤدي حذفها إلى إعادة استخدام النسخة الأصلية. ومع ذلك، هذا التمييز عادة ما يكون غير ذي صلة.
  • التحقق من القابلية: باستخدام .then()، يتم التحقق من القيمة التي تم إرجاعها لتحديد ما إذا كانت وعدًا أم لا. يؤدي حذف ‎.then() إلى تخطي هذا الاختيار.

حالات الحافة

في حالات نادرة، قد يكون .then(function(a){ return a; }) لها سلوكيات غير معتادة:

  • إذا أصبحت القيمة التي تم إرجاعها فجأة وعدًا بعد الوفاء بها، فإن .then() ستنتظرها.
  • ترجع كائن وعد مميز، والذي قد يكون مفيدًا لـ تجنب المشاركة ومع ذلك، هذه حالة استخدام متخصصة.

الاستنتاج

بشكل عام، .then(function(a){ return a; }) هو لا -op لا يضيف أي قيمة إلى سلسلة الوعد. ويجب حذفه ما لم يكن هناك سبب مقنع لاستخدامه، مثل تجنب الوعود المشتركة أو التعامل مع السلوكيات الغامضة ذات الصلة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3