Node.js – সার্বজনীন অবজেক্ট (Global Objects)

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

Node.js এর গ্লোবাল অবজেক্টগুলো সাধারনত সকল মোডিউল থেকে সরাসরি একসেস করা যায় । তাই এই গ্লোবাল অবজেক্টগুলোকে কোন অ্যাপ থেকে অন্তর্ভূক্ত করতে হয় না । এই গ্লোবাল অবজেক্টগুলো সাধারনত মোডিউল, ফাংশন, স্ট্রীং অথবা অবজেক্টও হয়ে থাকে যা নিম্নে ব্যাখ্যা করা হয়েছে ।

__filename

__filename, যেই ফাইল থেকে কোড রান করা হচ্ছে সেই ফাইলের নাম প্রকাশ করে থাকে । এটি কোড ফাইলের সম্পূর্ণ পথ প্রিন্ট করে থাকে ।

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


console.log( __filename );

 

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


$ node main.js

 

আপনার প্রোগ্রামের সঠিক অবস্থান অনুযায়ী নিম্নের ফাইল নাম প্রকাশ করবেঃ


/web/com/1427091028_21099/main.js

 

__dirname

__dirname সাধারনত যেই ডিরেক্টরী থেকে স্ক্রীপ্ট রান করা হচ্ছে ওই ডিরেক্টরীর নাম প্রকাশ করে থাকে ।

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


console.log( __dirname );

 

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


$ node main.js

 

আপনার প্রোগ্রামের সঠিক অবস্থান অনুযায়ী নিম্নের ডিরেক্টরীর নাম প্রকাশ করবেঃ


/web/com/1427091028_21099

 

 

setTimeout(cb, ms)

setTimeout(cb, ms) গ্লোবাল ফাংশন দিয়ে অন্তত ‘ ms ‘ মিলিসেকেন্ড বিলম্বে কলব্যাক ফাংশন ‘ cb ‘ কে কল করা হয়ে থাকে । এই বিলম্ব কিছু বাহ্যিক ফাক্টর এর উপর নির্ভরশীল উদাহারন স্বরুপ OS timer granularity এবং system load । একটি টাইমারের ব্যাপ্তি ২৪.৮ দিনের বেশী হতে পারবে না ।

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


function printHello(){
     console.log( "Hello, World!");
 }
 // Now call above function after 2 seconds
 setTimeout(printHello, 2000);

 

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


$ node main.js

 

যাচাই করে দেখুন আউটপুট কিছুটা বিলম্বে আসছে কিনা


Hello, World!

 

clearTimeout(t)

clearTimeout( t ) গ্লোবাল ফাংশন দিয়ে পূর্বে setTimeout(cb, ms) দিয়ে যেই টাইমার সেট করা হয়েছে তা বন্ধ করতে ব্যবহার করা হয় ।

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


function printHello(){
       console.log( "Hello, World!");
 }
 // Now call above function after 2 seconds
 var t = setTimeout(printHello, 2000);
 // Now clear the timer

 

clearTimeout(t)

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


$ node main.js

যাচাই করে দেখুন আউটপুটে কিছু প্রিন্ট করছে কিনা

 

setInterval(cb, ms)

setInterval(cb, ms) দিয়ে অন্তত ‘ ms ‘ মিলিসেকেন্ড বিলম্বে বারবার কলব্যাক ফাংশন ‘ cb ‘ কে কল করতে থাকে । এই বিলম্ব কিছু বাহ্যিক ফাক্টর এর উপর নির্ভরশীল উদাহারন স্বরুপ OS timer granularity এবং system load । একটি টাইমারের ব্যাপ্তি ২৪.৮ দিনের বেশী হতে পারবে না ।

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


function printHello(){
     console.log( "Hello, World!");
 }
 // Now call above function after 2 seconds
 setInterval(printHello, 2000);

 

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


$ node main.js


উপরের প্রোগ্রামটি প্রতি ২ সেকেন্ড পরপর printHello() ফাংশন কে কল করতে থাকবে ।