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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'JQuery' ب'jQuery')
سطر 6: سطر 6:
  
 
=== الوصف ===
 
=== الوصف ===
يُضيف هذا التابع مُداوِلات تستدعى عند حل الكائن المؤجل Deferred.
+
يُضيف هذا التابع مُداوِلات تستدعى عند قبول الكائن المؤجل Deferred.
  
 
=== <code>deferred.done( doneCallbacks [, doneCallbacks ] )‎</code> ===
 
=== <code>deferred.done( doneCallbacks [, doneCallbacks ] )‎</code> ===
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.5/ 1.5]
+
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.5/ 1.5].
  
 
==== <code>doneCallbacks</code> ====
 
==== <code>doneCallbacks</code> ====
هو دالة، أو مصفوفة دوال، تُستدعى عند حل الكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎
+
هو دالة، أو مصفوفة دوال، تُستدعى عند قبول الكائن المؤجل Deferred، وهو دالة <code>[[JavaScript/Function|Function()‎]]</code>.
  
 
==== <code>doneCallbacks</code> ====
 
==== <code>doneCallbacks</code> ====
هو دالة اختيارية إضافية، أو مصفوفة دوال، تُستدعى عند حل الكائن المؤجل Deferred وهو من النوع [[JavaScript/Function|دالة]] Function()‎
+
هو دالة اختيارية إضافية، أو مصفوفة دوال، تُستدعى عند قبول الكائن المؤجل Deferred، وهو دالة <code>[[JavaScript/Function|Function()‎]]</code>.
  
يقبل التابع <code>deferred.done()‎</code> وسيطًا واحدًا أو أكثر، وكلها يمكن أن تكون إما دالة مفردة أو مجموعة من الدوال. عندما يتم حل الكائن المؤجل Deferred، تستدعى doneCallbacks. تُنفذ عمليات الرد بالترتيب الذي تمت إضافته به. بما أن <code>deferred.done()‎</code> تُعيد الكائن المؤجل Deferred، يمكن ربط التوابع الأخرى للكائن المؤجل به، بما في ذلك توابع ‎.done()‎ الإضافية. عند حل الكائن المؤجل Deferred، تُنفَّذ doneCallbacks باستخدام الوسائط المقدمة لاستدعاءات اتوابع <code>[[jQuery/deferred/resolve|resolve]]</code> أو <code>[[jQuery/deferred/resolveWith|resolveWith]]</code> بالترتيب الذي أُضيفت به. لمزيد من المعلومات، راجع وثائق [[jQuery/Deferred-object|Deferred object]].
+
يقبل التابع <code>deferred.done()‎</code> وسيطًا واحدًا أو أكثر، وكلها يمكن أن تكون إما دالة مفردة أو مجموعة من الدوال. عندما يتم قبول الكائن المؤجل Deferred، فتستدعى <code>doneCallbacks</code>. تُنفذ دوال رد النداء بالترتيب الذي أُضيفَت به.
 +
 
 +
لمّا كانت <code>deferred.done()‎</code> تُعيد الكائن المؤجل Deferred، يمكن تنفيذ التوابع الأخرى للكائن المؤجل كسلسلة (chain)، بما في ذلك توابع ‎<code>.done()</code>‎ الإضافية.
 +
 
 +
عند قبول الكائن المؤجل Deferred، ستُنفَّذ <code>doneCallbacks</code> باستخدام الوسائط التي مررناها للتوابع <code>[[jQuery/deferred/resolve|resolve]]</code> أو <code>[[jQuery/deferred/resolveWith|resolveWith]]</code> بالترتيب الذي أُضيفت به. لمزيد من المعلومات، راجع توثيق الكائن <code>[[jQuery/deferred|Deferred]]</code>.
  
 
=== أمثلة ===
 
=== أمثلة ===
بما أن التابع <code>[[jQuery/jQuery.get|jQuery.get]]</code> يُعيد كائن <code>jqXHR</code>، وهو مشتق من كائن مؤجل Deferred، يمكننا إرفاق رد نداء بالنجاح باستخدام التابع ‎<code>.done()</code>‎.<syntaxhighlight lang="jquery">
+
لمّا كان التابع <code>[[jQuery/jQuery.get|jQuery.get]]</code> يُعيد كائن <code>jqXHR</code>، وهو مشتق من الكائن Deferred، يمكننا ربط رد نداء بالنجاح باستخدام التابع ‎<code>.done()</code>‎.<syntaxhighlight lang="jquery">
 
$.get( "test.php" ).done(function() {
 
$.get( "test.php" ).done(function() {
 
   alert( "$.get succeeded" );
 
   alert( "$.get succeeded" );
 
});
 
});
</syntaxhighlight>حل كائن مؤجل Deferred عند نقر المستخدم على زر، مما يؤدي إلى تشغيل عدد من دوال رد النداء:<syntaxhighlight lang="jquery">
+
</syntaxhighlight>سيُقبَل الكائن Deferred عند نقر المستخدم على زر، مما يؤدي إلى تشغيل عدد من دوال رد النداء:<syntaxhighlight lang="html">
 
<!doctype html>
 
<!doctype html>
 
<html lang="en">
 
<html lang="en">
سطر 72: سطر 76:
  
 
== مصادر ==
 
== مصادر ==
* [http://api.jquery.com/deferred.done/ صفحة التابع ‎deferred.done()‎‎‎‎ في توثيق jQuery الرسمي].
+
* [http://api.jquery.com/deferred.done/ صفحة التابع ‎deferred.done()‎‎‎‎ في توثيق jQuery الرسمي].
 
[[تصنيف:jQuery]]
 
[[تصنيف:jQuery]]
 
[[تصنيف:jQuery Method]]
 
[[تصنيف:jQuery Method]]
 
[[تصنيف:jQuery Data]]
 
[[تصنيف:jQuery Data]]

مراجعة 10:27، 6 مايو 2018

deferred.done( doneCallbacks [, doneCallbacks ] )‎

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

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

الوصف

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

deferred.done( doneCallbacks [, doneCallbacks ] )‎

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

doneCallbacks

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

doneCallbacks

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

يقبل التابع deferred.done()‎ وسيطًا واحدًا أو أكثر، وكلها يمكن أن تكون إما دالة مفردة أو مجموعة من الدوال. عندما يتم قبول الكائن المؤجل Deferred، فتستدعى doneCallbacks. تُنفذ دوال رد النداء بالترتيب الذي أُضيفَت به.

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

عند قبول الكائن المؤجل Deferred، ستُنفَّذ doneCallbacks باستخدام الوسائط التي مررناها للتوابع resolve أو resolveWith بالترتيب الذي أُضيفت به. لمزيد من المعلومات، راجع توثيق الكائن Deferred.

أمثلة

لمّا كان التابع jQuery.get يُعيد كائن jqXHR، وهو مشتق من الكائن Deferred، يمكننا ربط رد نداء بالنجاح باستخدام التابع ‎.done()‎.

$.get( "test.php" ).done(function() {
  alert( "$.get succeeded" );
});

سيُقبَل الكائن Deferred عند نقر المستخدم على زر، مما يؤدي إلى تشغيل عدد من دوال رد النداء:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>deferred.done demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<button>Go</button>
<p>Ready...</p>
 
<script>
// 3 functions to call when the Deferred object is resolved
function fn1() {
  $( "p" ).append( " 1 " );
}
function fn2() {
  $( "p" ).append( " 2 " );
}
function fn3( n ) {
  $( "p" ).append( n + " 3 " + n );
}
 
// Create a deferred object
var dfd = $.Deferred();
 
// Add handlers to be called when dfd is resolved
dfd
// .done() can take any number of functions or arrays of functions
  .done( [ fn1, fn2 ], fn3, [ fn2, fn1 ] )
// We can chain done methods, too
  .done(function( n ) {
    $( "p" ).append( n + " we're done." );
  });
 
// Resolve the Deferred object when the button is clicked
$( "button" ).on( "click", function() {
  dfd.resolve( "and" );
});
</script>
 
</body>
</html>

مصادر