_.once() এবং _.after() এর মাধ্যমে Function Execution Control

Function Methods - লোড্যাশ (Lodash) - Web Development

179

Lodash লাইব্রেরির _.once() এবং _.after() ফাংশনগুলি আপনাকে ফাংশনের execution নিয়ন্ত্রণ করার সুযোগ দেয়। বিশেষত, এই ফাংশনগুলি ব্যবহার করে আপনি নির্দিষ্ট সংখ্যক বার একটি ফাংশনকে চালাতে পারেন, যেমন একটি ফাংশন একবারই চালানো হবে অথবা একটি ফাংশন নির্দিষ্ট সংখ্যক কলের পরে চালানো হবে।

এখানে আমরা _.once() এবং _.after() ফাংশনগুলির মাধ্যমে ফাংশন execution কিভাবে নিয়ন্ত্রণ করতে হয় তা বিস্তারিতভাবে আলোচনা করব।


১. _.once() – ফাংশন একবারই চালানো

_.once() ফাংশনটি একটি ফাংশনকে শুধুমাত্র একবার চালাতে সক্ষম করে। এর অর্থ হলো, আপনি যদি একই ফাংশন একাধিক বার কল করেন, তবে এটি শুধুমাত্র প্রথম কলের পর একবারই execute হবে এবং পরবর্তী কলগুলো উপেক্ষা করা হবে।

Syntax:

_.once(func);
  • func: যেটি একবারই execute হবে।

উদাহরণ:

const _ = require('lodash');

let initialize = _.once(() => {
  console.log('Initialization complete');
});

initialize(); // 'Initialization complete'
initialize(); // কিছুই হবে না, কারণ এটি একবারই চলবে
initialize(); // কিছুই হবে না, কারণ এটি একবারই চলবে

ব্যাখ্যা: এখানে initialize ফাংশনটি _.once() এর মাধ্যমে একবারই execute হবে, এবং পরবর্তী কলগুলোতে এটি আর execute হবে না। এটি কার্যকরী যখন আপনি কোন সেটআপ বা initialization কোড যা শুধুমাত্র একবার চালানো দরকার, তাতে ব্যবহার করতে পারেন।


২. _.after() – নির্দিষ্ট সংখ্যক কলের পরে ফাংশন চালানো

_.after() ফাংশনটি একটি ফাংশনকে নির্দিষ্ট সংখ্যক বার কল করার পরে execute হতে বলে। এর মানে হলো, যখন আপনি যে ফাংশনটি কল করবেন, তা নির্দিষ্ট সংখ্যক times পর run হবে।

Syntax:

_.after(n, func);
  • n: যে সংখ্যক বার ফাংশনটি কল হতে হবে।
  • func: ফাংশনটি যেটি কল করার পর execute হবে।

উদাহরণ:

const _ = require('lodash');

let greetAfterThreeTimes = _.after(3, () => {
  console.log('Hello, World!');
});

greetAfterThreeTimes(); // কিছুই হবে না
greetAfterThreeTimes(); // কিছুই হবে না
greetAfterThreeTimes(); // 'Hello, World!' (তিনবার কল করার পর)

ব্যাখ্যা: এখানে greetAfterThreeTimes ফাংশনটি তিনবার কল হওয়ার পর Hello, World! মেসেজটি console এ প্রদর্শিত হবে। প্রথম দুটি কল কোন প্রভাব ফেলবে না, কারণ _.after(3, ...) এ তিনবার কল হওয়ার পরে func execute হবে।

এটি সাধারণত ব্যবহার করা হয় যখন আপনি কোন কাজ করতে চান যা নির্দিষ্ট সংখ্যক কলের পরে এক্সিকিউট হবে, যেমন অনেকগুলি AJAX কলের পরে একবার callback function call করা।


ব্যবহারিক উদাহরণ

উদাহরণ ১: _.once() ব্যবহার

ধরা যাক, আপনি একটি ডাটাবেস কানেকশন ইনিশিয়ালাইজ করতে চান এবং আপনি চান যে এটি শুধুমাত্র একবারই ইনিশিয়ালাইজ হোক, যদিও ফাংশনটি একাধিকবার কল হোক।

const _ = require('lodash');

let connectToDatabase = _.once(() => {
  console.log('Database connection established');
});

connectToDatabase(); // 'Database connection established'
connectToDatabase(); // কিছুই হবে না

এখানে connectToDatabase ফাংশনটি _.once() এর মাধ্যমে নিশ্চিত করা হয়েছে যে এটি একবারই execute হবে, পরবর্তী সময়ে একাধিক কল হলেও কিছু হবে না।

উদাহরণ ২: _.after() ব্যবহার

ধরা যাক, আপনি তিনটি API কল করার পর একটি ফাংশন চালাতে চান, যা শুধুমাত্র তিনটি কলের পরে trigger হবে।

const _ = require('lodash');

let processAfterAllCalls = _.after(3, () => {
  console.log('All API calls completed');
});

processAfterAllCalls(); // কিছুই হবে না
processAfterAllCalls(); // কিছুই হবে না
processAfterAllCalls(); // 'All API calls completed'

এখানে _.after(3, ...) ফাংশনটি তিনটি API কল করার পরে execute হবে। এর ফলে, ফাংশনটি পরবর্তী তিনটি কলের পরে trigger হবে এবং একবারই run করবে।


উপসংহার

  • _.once() ফাংশনটি একটি ফাংশনকে শুধুমাত্র একবার execute করতে সক্ষম করে, যতবারই সেটি কল করা হোক না কেন।
  • _.after() ফাংশনটি একটি ফাংশনকে নির্দিষ্ট সংখ্যক কলের পরে execute করতে সক্ষম করে, যেমন তিনবার কল করার পর একবার রান করবে।

এই দুটি ফাংশন ফাংশন execution নিয়ন্ত্রণে সাহায্য করে, যেখানে আপনি চাচ্ছেন যে ফাংশনটি একবার বা কিছু নির্দিষ্ট সংখ্যক times পরই execute হোক। এগুলি সাধারণত API কল, initialization, বা অন্য যেকোনো কাজ যেখানে শুধুমাত্র একবার বা নির্দিষ্ট times কাজটি করতে হবে, সেক্ষেত্রে ব্যবহৃত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...