jQuery এর 1.5 নতুন বিলম্বিত বস্তু এবং সংযুক্ত পদ্ধতি এনেছে .when
, .Deferred
এবং ._Deferred
।
যারা .Deferred
আগে ব্যবহার করেন নি, তাদের জন্য আমি উত্সটি বর্নিত করেছি ।
এই নতুন পদ্ধতির সম্ভাব্য ব্যবহারগুলি কী কী, আমরা কীভাবে সেগুলিকে নিদর্শনগুলির মধ্যে ফিট করতে পারি?
আমি ইতিমধ্যে এপিআই এবং উত্সটি পড়েছি তাই এটি কী করে তা আমি জানি। আমার প্রশ্ন হ'ল আমরা কীভাবে দৈনন্দিন কোডগুলিতে এই নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে পারি?
আমার কাছে একটি বাফার ক্লাসের একটি সাধারণ উদাহরণ রয়েছে যা AJAX অনুরোধটিকে ক্রমে কল করে। (পূর্ববর্তীটি শেষ হওয়ার পরে পরবর্তী একটি শুরু)।
/* Class: Buffer
* methods: append
*
* Constructor: takes a function which will be the task handler to be called
*
* .append appends a task to the buffer. Buffer will only call a task when the
* previous task has finished
*/
var Buffer = function(handler) {
var tasks = [];
// empty resolved deferred object
var deferred = $.when();
// handle the next object
function handleNextTask() {
// if the current deferred task has resolved and there are more tasks
if (deferred.isResolved() && tasks.length > 0) {
// grab a task
var task = tasks.shift();
// set the deferred to be deferred returned from the handler
deferred = handler(task);
// if its not a deferred object then set it to be an empty deferred object
if (!(deferred && deferred.promise)) {
deferred = $.when();
}
// if we have tasks left then handle the next one when the current one
// is done.
if (tasks.length > 0) {
deferred.done(handleNextTask);
}
}
}
// appends a task.
this.append = function(task) {
// add to the array
tasks.push(task);
// handle the next task
handleNextTask();
};
};
আমি বিক্ষোভ এবং এর সম্ভাব্য ব্যবহারগুলি .Deferred
এবং এর সন্ধান করছি .when
।
এটি উদাহরণগুলি দেখতে ভাল লাগবে ._Deferred
।
jQuery.ajax
উদাহরণের জন্য নতুন উত্সের সাথে লিঙ্ক করা প্রতারণা।
কোনও অপারেশন সুসংগতভাবে বা অবিচ্ছিন্নভাবে সম্পন্ন হয়েছে কিনা তা আমরা যখন অ্যাবস্ট্রাক্ট করি তখন কী কৌশল উপলব্ধ তা সম্পর্কে আমি বিশেষভাবে আগ্রহী।
._Deferred
কেবলমাত্র সত্য "ডিফার্ড অবজেক্ট" যা .Deferred
ব্যবহার করে। এটি একটি অভ্যন্তরীণ অবজেক্ট যা আপনার সম্ভবত কখনও প্রয়োজন হবে না।