الفرق بين المراجعتين لصفحة: «jQuery/deferred/pipe»
Khaled-yassin (نقاش | مساهمات) طلا ملخص تعديل |
Khaled-yassin (نقاش | مساهمات) |
||
سطر 32: | سطر 32: | ||
=== إشعار الإهمال === | === إشعار الإهمال === | ||
اعتبارًا من إصدار jQuery 1.8، | اعتبارًا من إصدار jQuery 1.8، أُهمل استخدام التابع <code>deferred.pipe()</code>. ويجب استخدام التابع <code>[[jQuery/deferred/then|deferred.then()]]</code>، الذي يحل محله بدلاً منه. | ||
يُعيد التابع <code>deferred.pipe()</code> كائن Promise جديدًا يعمل على ترشيح حالات وقيم الكائن المؤجل من خلال إحدى الدالات. | يُعيد التابع <code>deferred.pipe()</code> كائن Promise جديدًا يعمل على ترشيح حالات وقيم الكائن المؤجل من خلال إحدى الدالات. | ||
تُرشِّح الدالتين <code>doneFilter</code> و <code>failFilter</code> حالات قبول ورفض الكائن المؤجل الأصلية وقيمه. | تُرشِّح الدالتين <code>doneFilter</code> و <code>failFilter</code> حالات قبول ورفض الكائن المؤجل الأصلية وقيمه. | ||
ويقبل هذا التابع أيضًا بدءًا من إصدار jQuery 1.7 الدالة <code>progressFilter</code> لترشيح أية دوال رد نداء للمؤجل الأصلي للتوابع <code>notify</code> أو <code>notifyWith</code>. ويمكن لدوال الترشيح هذه أن تعيد قيمة جديدة لتمرر إلى دوال ردود نداء كائنات Promise <code>done()</code> أو <code>fail()</code>، أو يمكنها إعادة كائن آخر يمكن مراقبته (Deferred، أو Promise، وما إلى ذلك) والذي سيمرر حالة قبول أو رفض هذا الكائن وقيمه إلى دوال ردود نداء كائنات Promise. | |||
إذا كانت دالة الترشيح المستخدمة هي <code>null</code> أو غير محددة، فسيحل كائن Promise أو يُرفض بنفس قيم الأصل. | |||
=== أمثلة === | === أمثلة === |
المراجعة الحالية بتاريخ 12:50، 9 مايو 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()
كائن Promise جديدًا يعمل على ترشيح حالات وقيم الكائن المؤجل من خلال إحدى الدالات.
تُرشِّح الدالتين doneFilter
و failFilter
حالات قبول ورفض الكائن المؤجل الأصلية وقيمه.
ويقبل هذا التابع أيضًا بدءًا من إصدار jQuery 1.7 الدالة progressFilter
لترشيح أية دوال رد نداء للمؤجل الأصلي للتوابع notify
أو notifyWith
. ويمكن لدوال الترشيح هذه أن تعيد قيمة جديدة لتمرر إلى دوال ردود نداء كائنات Promise done()
أو fail()
، أو يمكنها إعادة كائن آخر يمكن مراقبته (Deferred، أو Promise، وما إلى ذلك) والذي سيمرر حالة قبول أو رفض هذا الكائن وقيمه إلى دوال ردود نداء كائنات Promise.
إذا كانت دالة الترشيح المستخدمة هي null
أو غير محددة، فسيحل كائن Promise أو يُرفض بنفس قيم الأصل.
أمثلة
ترشيح قيمة قبول الكائن:
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 );
});
مهام مُعادة كسلسلة (chain) : البيانات المُستردّة من url2 كما هو منصوص عليه في الطلب الأول.
var request = $.ajax( url, { dataType: "json" } ),
chained = request.pipe(function( data ) {
return $.ajax( url2, { data: { user: data.userId } } );
});
chained.done(function( data ) {
});