الفرق بين المراجعتين لصفحة: «jQuery/deferred/pipe»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>deferred.pipe()‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude> ==...'
 
سطر 7: سطر 7:


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


=== <code>deferred.pipe ([doneFilter] [، failFilter])‎</code> ===
=== <code>deferred.pipe ([doneFilter] [، failFilter])‎</code> ===

مراجعة 15:12، 5 مايو 2018

deferred.pipe( [doneFilter ] [, failFilter ] )‎

أوقِفت مع الإصدار: 1.8

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

يُعيد كائنًا من النوع تعهُّد (Promise)

الوصف

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

deferred.pipe ([doneFilter] [، failFilter])‎

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

doneFilter

هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو من النوع دالة Function()‎.

failFilter

هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو من النوع دالة Function()‎.

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

deferred.pipe ([doneFilter] [، failFilter] [، progressFilter])‎

doneFilter

هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو من النوع دالة Function()‎.

failFilter

هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو من النوع دالة Function()‎.

progressFilter

هو دالة اختيارية تُستدعى عند إرسال إشعارات التقدُّم للكائن المؤجل Deferred وهو من النوع دالة Function()‎.

إشعار الإيقاف

اعتبارًا من إصدار jQuery 1.8، أُوقِف التابع deferred.pipe()‎. يجب استخدام التابع deferred.then()‎، الذي يحل محله، بدلاً من ذلك.

يُعيد التابع deferred.pipe()‎ تعهُّدًا جديدًا يعمل على ترشيح حالات وقيم الكائن المؤجل من خلال إحدى الدالات. تُرشِّح الدالتين doneFilter و failFilter حالات حل ورفض الكائن المؤجل الأصلية وقيمه. واعتبارًا من إصدار jQuery 1.7، يقبل هذا التابع أيضًا الدالة progressFilter لترشيح أية نداءات للمؤجل الأصلي للتوابع notify أو notifyWith. يمكن لدوال الترشيح هذه أن تعيد قيمة جديدة لتمرر إلى ردود نداءات التعهدات المُساقة done()‎ أو fail()‎، أو يمكنها إعادة كائن آخر يمكن مراقبته (مؤجل، تعهُّد، وما إلى ذلك) والذي سيمرر حالة حل أو رفض هذا الكائن وقيمه إلى ردود نداءات التعهدات المُساقة. إذا كانت دالة الترشيح المستخدمة هي null أو غير محددة، فسيحل التعهُّد المُساق أو يُرفض بنفس قيم الأصل.

أمثلة

قيمة حل الترشيح:

var defer = $.Deferred(),
  filtered = defer.pipe(function( value ) {
    return value * 2;
  });
 
defer.resolve( 5 );
filtered.done(function( value ) {
  alert( "Value is ( 2*5 = ) 10: " + value );
});

قيمة رفض الترشيح:

var defer = $.Deferred(),
  filtered = defer.pipe( null, function( value ) {
    return value * 3;
  });
 
defer.reject( 6 );
filtered.fail(function( value ) {
  alert( "Value is ( 3*6 = ) 18: " + value );
});

مهام مُقيَّدة:

var request = $.ajax( url, { dataType: "json" } ),
  chained = request.pipe(function( data ) {
    return $.ajax( url2, { data: { user: data.userId } } );
  });
 
chained.done(function( data ) {
  // data retrieved from url2 as provided by the first request
});

مصادر