الكائن المؤجل (Deferred Object)

من موسوعة حسوب

قُدِّم الكائن المؤجل في الإصدار jQuery 1.5، وهو كائن أداة قابل للتسلسل ينشأ عن طريق استدعاء التابع jQuery.Deferred()‎‎‎. ويمكنه تسجيل عدة دوال رد اتصال في صفوف رد الاتصال، واستدعاء هذه الصفوف، ونقل حالة النجاح أو الفشل لأي دالة متزامنة أو غير متزامنة.

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

deferred.always()‎

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

‎deferred.catch()‎

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

‎deferred.done()‎

يُضيف هذا التابع معالجات تستدعى عند حل الكائن المؤجل Deferred.

deferred‎.fail()‎

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

deferred.isRejected()‎‎‎‎

تحديد ما إذا كان الكائن المؤجل قد رُفِض.

موجود أيضًا في: التوابع المُهملة > التوابع المُهملة في الإصدار 1.7 | التوابع المُزالة.

deferred.isResolved()‎‎‎‎

تحديد ما إذا كان الكائن المؤجل قد قُبِل.

‎deferred.notify()‎

يستدعي هذا التابع progressCallbacks لكائن مؤجل Deferred بواسطة الوسائط args المعطاة.

‎deferred.notifyWith()‎

يستدعي هذا التابع progressCallbacks لكائن مؤجل Deferred بواسطة الوسائط args والسياق context المعطاة.

deferred‎.pipe()‎

تابع أداة يُستخدم لترشيح و/أو تقييد الكائنات المؤجلة Deferreds.

‎deferred.progress()‎

يُضيف هذا التابع معالجات تستدعى عندما ينتج الكائن المؤجل Deferred إشعارات التقدُّم.

‎deferred.promise()‎

يُعيد هذا التابع كائن Promise للكائن المؤجل Deferred.

‎deferred.reject()‎

يرفُض هذا التابع كائنًا مؤجلًا ويستدعي أي failCallbacks مع الوسيط args المُعطى.

deferred‎.rejectWith()‎

يرفض هذا التابع كائنًا مؤجلًا Deferred ويستدعي أي failCallbacks مع سياق context ووسائط args محددة.

‎deferred.resolve()‎

قبول كائن مؤجل واستدعاء أي doneCallbacks مع الوسائط args المُحدَدة.

‎deferred.resolveWith()‎

يقبل كائن مؤجل ويستدعي أي doneCallbacks مع السياق context والوسائط args المُحدَدة.

‎deferred.state()‎

يُحدد هذا التابع الحالة الحالية لكائن مؤجل.

‎deferred.then()‎

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

‎jQuery.Deferred()‎

هذه الدالة هي دالةٌ منتجة (factory function) تعيد كائن أداةٍ قابل للتسلسل (chainable utility object) يمكن استعمال مجموعة من التوابع مع هذا الكائن لتسجيل عدَّة دوال رد نداءٍ في طوابير ردود النداء (callback queues)، واستدعاء هذه الطوابير فيما بعد، ونقل حالة النجاح (success state) أو الفشل (failure state) لأي دالة متزامنة (synchronous) أو غير متزامنة (asynchronous).

jQuery.when()‎‎‎

نوفير طريقة لتنفيذ دوال رد الاتصال استنادًا إلى صفر أو أكثر من كائنات قابلة للعمليات Then، وعادة ما تكون الكائنات المؤجلة التي تمثل الأحداث غير المتزامنة.

‎.promise()‎

يعيد هذا التابع كائنًا من النوع promise عند انتهاء تنفيذ إجراءات ذات نوع محدَّد جميعها، سواءً كانت في الطابور (queued) أم لا، والمرتبطة بالمجموعة؛ وهذا التابع مفيد لمراقبة إكتمال تنفيذ إجراءات معينة.

 مصادر