Node.js – কলব্যাক এর ধারণা। কলব্যাক কি? (Callbacks Concept)

মোহাম্মদ আব্দুল্লাহ

 

Callback কি ?

Callback একটি ফাংশনের জন্য একটি asynchronous সমতূল্য । একটি কলব্যাক ফাংশন একটি নির্দিষ্ট কাজের শেষে সাধারনত কল করা হয়ে থাকে । Node.js এ callback ফাংশন প্রচুর পরিমানে ব্যবহার হয়ে থাকে । Node.js এর সকল API গুলি এমনাভাবে তৈরী করা হয়েছে যাতে করে তারা callbacks সমর্থন করে ।

উদাহরণস্বরূপ, একটি ফাইল পড়ার ফাংশন ফাইল পড়ার পর আবার আগের জায়গায় ফিরে আসে যাতে করে পরবর্তী নির্দেশ execute করতে পারে । ফাইলটি পড়ার পর ফাইলের কন্টেন্ট প্যারামিটার হিসেবে callback ফাংশন এ আসবে । এই কারনেই Node.js এত জনপ্রিয় কারন এটি কোন ধরনের ফাংশন call ছাড়াই অনেক request প্রক্রিয়া করতে পারে ।

 

উদাহরণ (Blocking Code)

input.txt নামে একটি ফাইল তৈরী করুন এবং তাতে নিম্নের text টি copy/paste করে দিন ।


Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!


একটি javascript (main.js) এ নিম্নের কোড copy/paste করে দিন


 var fs = require("fs");

 var data = fs.readFileSync('input.txt');

 console.log(data.toString());
 console.log("Program Ended");

এখন main.js ফাইলটি রান করান


$ node main.js


নিম্নের আউটপুট দেখুন


Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!
Program Ended


 

 

উদাহরণ (Non-Blocking Code)

.txt নামে একটি ফাইল তৈরী করুন এবং তাতে নিম্নের text টি copy/paste করে দিন ।


Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!


 

 

main.js এ নিম্নের কোড copy/paste করে দিন


var fs = require("fs");

 fs.readFile('input.txt', function (err, data) {
        if (err) return console.error(err);
        console.log(data.toString());
 });
console.log("Program Ended");

 

 

এখন main.js ফাইলটি রান করান


$ node main.js


নিম্নের আউটপুট দেখুন


Program Ended
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!


 

 

এই দুটি উদাহরণ Blocking এবং Non-Blocking Code ধারণার ব্যাখ্যা করে । প্রথম উদাহারনে, প্রথমে ফাইল পড়ে এবং ফাইল পড়া শেষ হলে বাকি কোড execute করে । অন্যদিকে দ্বিতীয় উদাহারনে ফাইল পড়া শেষ হওয়ার আগেই অন্যান্য কোড execute করে ফেলে । এইভাবেই Blocking কোড sequencely program রান করে থাকে অন্যদিকে Non-Blocking Code sequencely program রান করে না ।

http://www.tutorialspoint.com/nodejs/nodejs_callbacks_concept.htm

Permanent link to this article: http://bangla.sitestree.com/node-js-callbacks-concept-callback-%e0%a6%95%e0%a6%bf/

Leave a Reply