ডেভসংকেত

Synchronous JavaScript

কন্ট্রিবিউটর

  • arifshahriyarnader

শেয়ার করুন

জাভাস্ক্রিপ্ট কিভাবে ব্রাউসার এর ভিতরে কাজ করে

  • const sync = () =>{
  • console.log('Task two Completed');
  • var currentTime = new Date().getTime()
  •  while(currentTime + 3000 >= new Date().getTime());
  •  console.log('Task three Completed')
  • }
  • console.log('Task One Completed')
  • sync();
  • console.log('All Tasks Completd');
  • সবার প্রথমে একটা মেইন ফাঙ্কশন কল হয়। .যেকনো জাভাস্ক্রিপ্ট কোড রান হবার আগে একটা মেইন ফাঙ্কশন রান হয়.

  • এরপর লাইন বই লাইন বিভিন্ন জায়গায় কলগুলো হয়.

  • এখানে প্রথমে কল হয়েছে console.log('Task One Completed'); ফাঙ্কশন ..

  • লগ এর আগে sync এর যে বডিটা দেখা যাচ্ছে এটা হচ্ছে ফাঙ্কশন এর ডেফিনেশন এখানে আমরা কেনো ফাঙ্কশন কল করিনি।

  • জাভাস্ক্রিপ্ট এক্সকিউশন শুরু হবে console.log('Task One Completed'); থেকে তারপর সে লগ ফাঙ্কশনটাকে কল স্টকে কল করবে

  • তারপর কনসোলএ Task One Completed প্রিন্ট হবে।

  • এরপর লগ ফাঙ্কশন এর কাজ শেষ তারপর জাভাস্ক্রিপ্ট পরের লাইনে যাবে।

  • তারপর সে sync() ফাঙ্কশনকে দেখতে পাবে।

  • তারপর sync() ফাঙ্কশনকে সে কলস্ট্যাকে নিয়ে আসবে।

  • তারপর সে sync ফাঙ্কশন এর ভিতরে যাবে তারপর সে সেখানে console.log('Task two Completed'); ফাঙ্কশন দেখতে পাবে

  • তারপর সে console.log('Task two Completed'); ফাঙ্কশনটাকে কল স্টকে নিয়ে আসবে তারপর কনসোল এ Task two Completed প্রিন্ট হবে।

  • তারপর জাভাস্ক্রিপ্ট পরের লাইন যাবে তখন সে দেখবে ৩ সেকেন্ডের একটা while লুপ।

  • তখন ওই ৩ সেকেন্ড ব্রাউজারের পুরো একটিভিটি ব্লক হয়ে থাকবে তখন ইউসার ব্রাউজারে কোনো ক্লিক করতে পারবে না...ইউসারও ব্রাউজারে ব্লকড হয়ে থাকবে।

  • এটাই হচ্ছে জাভাস্ক্রিপ্ট এর ব্লকিং বিহেভিয়ার।

  • তারপর ৩ সেকেন্ড শেষ হবার পর সে কল স্ট্যাক কল করবে তারপর কনসোল এ Task three Completed প্রিন্ট হবে।

  • তারপর কল স্ট্যাক থেকে sync ফাঙ্কশনটা চলে যাবে

  • তারপর console.log('All Tasks Completd'); কল স্টকে আসবে।

  • তারপর কনসোল এ All Tasks Completd প্রিন্ট হবে

ডেভসংকেত সম্পর্কে

ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

স্পন্সর