التابع deferred.always()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

من موسوعة حسوب
مراجعة 05:54، 6 مايو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (تعديل التصنيفات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

deferred.always( alwaysCallbacks [, alwaysCallbacks ] )‎

القيمة المعادة

تُعيد كائنًا من النوع Deferred.

الوصف

يُضيف هذا التابع دوال معالجة تُستدعَى عند قبول الكائن المؤجل Deferred أو رفضه.

deferred.always( alwaysCallbacks [, alwaysCallbacks ] )‎

أُضيف مع الإصدار: 1.6.

alwaysCallbacks

هو دالة أو مصفوفة من الدوال، تُستدعى عند قبول الكائن المؤجل Deferred أو رفضه، وهو على الشكل Function()‎‎.

alwaysCallbacks

هو دالة إضافية إختيارية أو مصفوفة من الدوال، تُستدعى عند قبول الكائن المؤجل Deferred أو رفضه،

وهو على الشكل Function()‎‎.

يمكن أن يكون هذا الوسيط إما دالة مفردة أو مجموعة من الدوال. عند قبول أو رفض الكائن المؤجل Deferred تُستدعى الدالة alwaysCallbacks. ولمّا كان التابع deferred.always()‎ يُعيد الكائن المؤجل Deferred، فيمكن ربط (chain) عدة توابع أخرى من الكائن المؤجل إليه بما في ذلك توابع ‎.always()‎ إضافية.

عند قبول أو رفض الكائن المؤجل، تُستدعى دوال رد النداء (callbacks) بنفس الترتيب الذي سبق وأن أُضيفوا به، وذلك باستخدام الوسائط التي مررناها للتوابع resolve أو reject أو resolveWith أو rejectWith. لمزيد من المعلومات، راجع توثيق الكائن Deferred.

ملاحظة

يتلقى التابع deferred.always()‎ الوسائط التي استخدمت لقبول ‎.resolve()‎ أو رفض .reject() الكائن المؤجل Deferred، والتي غالبًا ما تكون مختلفة جدًا. ولهذا السبب، فمن الأفضل استخدامه فقط للإجراءات التي لا تتطلب فحص الوسائط. لكن في جميع الحالات الأخرى، استخدم المعالجين ‎.done()‎ أو ‎.fail()‎ حصرًا نظرًا لأن الوسائط سيكون لها ترتيب معرّف جيدًا.

أمثلة

لمّا كان التابع jQuery.get()‎ يُعيد كائن jqXHR، وهو مشتق من كائن مؤجل، يمكننا إرفاق رد نداء لكل من النجاح والفشل باستخدام التابع deferred.always()‎.

$.get( "test.php" ).always(function() {
  alert( "$.get completed with success or error callback arguments" );
});

مصادر