الفرق بين المراجعتين ل"jQuery/deferred/pipe"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
 
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:التابع <code>deferred.pipe()‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:التابع <code>deferred.pipe()‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude>
 
== <code>deferred.pipe( [doneFilter ] [, failFilter ] )‎</code> ==
 
== <code>deferred.pipe( [doneFilter ] [, failFilter ] )‎</code> ==
أوقِفت مع الإصدار: [http://api.jquery.com/category/version/1.8/ 1.8]
+
أُهمِلَت مع الإصدار: [http://api.jquery.com/category/version/1.8/ 1.8].
  
 
=== القيمة المعادة ===
 
=== القيمة المعادة ===
يُعيد كائنًا من النوع [[JavaScript/Promise|تعهُّد]] (Promise)
+
يُعيد كائنًا من النوع [[JavaScript/Promise|Promise]].
  
 
=== الوصف ===
 
=== الوصف ===
سطر 10: سطر 10:
  
 
=== <code>deferred.pipe ([doneFilter] [، failFilter])‎</code> ===
 
=== <code>deferred.pipe ([doneFilter] [، failFilter])‎</code> ===
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.6/ 1.6]
+
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.6/ 1.6].
  
 
==== <code>doneFilter</code> ====
 
==== <code>doneFilter</code> ====
هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎.
+
هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو على الشكل <code>[[JavaScript/Function|Function()]]</code>‎.
  
 
==== <code>failFilter</code> ====
 
==== <code>failFilter</code> ====
هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎.
+
هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو على الشكل <code>[[JavaScript/Function/call|Function()]]</code>‎.
  
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.7/ 1.7]
+
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.7/ 1.7].
  
 
=== <code>deferred.pipe ([doneFilter] [، failFilter] [، progressFilter])‎</code> ===
 
=== <code>deferred.pipe ([doneFilter] [، failFilter] [، progressFilter])‎</code> ===
  
 
==== <code>doneFilter</code> ====
 
==== <code>doneFilter</code> ====
هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎.
+
هو دالة اختيارية تُستدعى عند حل الكائن المؤجل Deferred وهو على الشكل <code>[[JavaScript/Function/call|Function()]]</code>‎.
  
 
==== <code>failFilter</code> ====
 
==== <code>failFilter</code> ====
هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎.
+
هو دالة اختيارية تُستدعى عند رفض الكائن المؤجل Deferred وهو على الشكل <code>[[JavaScript/Function/call|Function()]]</code>‎.
  
 
==== <code>progressFilter</code> ====
 
==== <code>progressFilter</code> ====
هو دالة اختيارية تُستدعى عند إرسال إشعارات التقدُّم للكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎.
+
هو دالة اختيارية تُستدعى عند إرسال إشعارات التقدُّم للكائن المؤجل Deferred وهو على الشكل <code>[[JavaScript/Function/call|Function()]]</code>‎.
  
=== إشعار الإيقاف ===
+
=== إشعار الإهمال ===
اعتبارًا من إصدار jQuery 1.8، أُوقِف التابع <code>deferred.pipe()‎</code>. يجب استخدام التابع <code>[[jQuery/deferred/then|deferred.then()‎]]</code>، الذي يحل محله، بدلاً من ذلك.
+
اعتبارًا من إصدار jQuery 1.8، أُهمل استخدام التابع <code>deferred.pipe()‎</code>. ويجب استخدام التابع <code>[[jQuery/deferred/then|deferred.then()‎]]</code>، الذي يحل محله بدلاً منه.
  
يُعيد التابع deferred.pipe()‎ تعهُّدًا جديدًا يعمل على ترشيح حالات وقيم الكائن المؤجل من خلال إحدى الدالات. تُرشِّح الدالتين <code>doneFilter</code> و <code>failFilter</code> حالات حل ورفض الكائن المؤجل الأصلية وقيمه. واعتبارًا من إصدار jQuery 1.7، يقبل هذا التابع أيضًا الدالة <code>progressFilter</code> لترشيح أية نداءات للمؤجل الأصلي للتوابع <code>notify</code> أو <code>notifyWith</code>. يمكن لدوال الترشيح هذه أن تعيد قيمة جديدة لتمرر إلى ردود نداءات التعهدات المُساقة <code>done()‎</code> أو <code>fail()‎</code>، أو يمكنها إعادة كائن آخر يمكن مراقبته (مؤجل، تعهُّد، وما إلى ذلك) والذي سيمرر حالة حل أو رفض هذا الكائن وقيمه إلى ردود نداءات التعهدات المُساقة. إذا كانت دالة الترشيح المستخدمة هي <code>null</code> أو غير محددة، فسيحل التعهُّد المُساق أو يُرفض بنفس قيم الأصل.
+
يُعيد التابع <code>deferred.pipe()‎</code> كائن Promise جديدًا يعمل على ترشيح حالات وقيم الكائن المؤجل من خلال إحدى الدالات.
 +
 
 +
تُرشِّح الدالتين <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 أو يُرفض بنفس قيم الأصل.
  
 
=== أمثلة ===
 
=== أمثلة ===
قيمة حل الترشيح:<syntaxhighlight lang="jquery">
+
ترشيح قيمة قبول الكائن:<syntaxhighlight lang="jquery">
 
var defer = $.Deferred(),
 
var defer = $.Deferred(),
 
   filtered = defer.pipe(function( value ) {
 
   filtered = defer.pipe(function( value ) {
سطر 47: سطر 53:
 
   alert( "Value is ( 2*5 = ) 10: " + value );
 
   alert( "Value is ( 2*5 = ) 10: " + value );
 
});
 
});
</syntaxhighlight>قيمة رفض الترشيح:<syntaxhighlight lang="jquery">
+
</syntaxhighlight>ترشيح قيمة رفض الكائن:<syntaxhighlight lang="jquery">
 
var defer = $.Deferred(),
 
var defer = $.Deferred(),
 
   filtered = defer.pipe( null, function( value ) {
 
   filtered = defer.pipe( null, function( value ) {
سطر 57: سطر 63:
 
   alert( "Value is ( 3*6 = ) 18: " + value );
 
   alert( "Value is ( 3*6 = ) 18: " + value );
 
});
 
});
</syntaxhighlight>مهام مُقيَّدة:<syntaxhighlight lang="jquery">
+
</syntaxhighlight>مهام مُعادة كسلسلة (chain) :
 +
 
 +
البيانات المُستردّة من url2 كما هو منصوص عليه في الطلب الأول.<syntaxhighlight lang="jquery">
 
var request = $.ajax( url, { dataType: "json" } ),
 
var request = $.ajax( url, { dataType: "json" } ),
 
   chained = request.pipe(function( data ) {
 
   chained = request.pipe(function( data ) {
سطر 64: سطر 72:
 
   
 
   
 
chained.done(function( data ) {
 
chained.done(function( data ) {
  // data retrieved from url2 as provided by the first request
 
 
});
 
});
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== مصادر ==
 
== مصادر ==
* [http://api.jquery.com/deferred.pipe/ صفحة التابع ‎deferred.pipe()‎‎‎‎‎‎‎ في توثيق jQuery الرسمي].
+
* [http://api.jquery.com/deferred.pipe/ صفحة التابع ‎deferred.pipe()‎‎‎‎‎‎‎ في توثيق jQuery الرسمي].
 
[[تصنيف:jQuery]]
 
[[تصنيف:jQuery]]
 
[[تصنيف:jQuery Method]]
 
[[تصنيف:jQuery Method]]
[[تصنيف:jQuery Data]]
+
[[تصنيف:jQuery Deferred Object]]
 +
[[تصنيف:jQuery Deprecated]]

المراجعة الحالية بتاريخ 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 ) {
});

مصادر