{ "id": "asynchronous", "title": "এসিক্রনাস জাভাস্ক্রিপ্ট", "slug": "asynchronous", "descripttion":"asynchronous কি এবং এটা কিভাবে কাজ করে", "colorPref": "#000", "contents":[ { "title": "asynchronous কি এবং এটা ব্রাউসার এর ভিতরে কিভাবে কাজ করে", "items":[ { "code": "const processOrder = () =>{" }, { "code":"console.log(`Processing Order for customer One`);" }, { "code":"setTimeout(() => {" }, { "code":"console.log(`Cooking completd`);" }, { "code":" }, 3000);" }, { "code":"console.log(`Order Processed for Customer One`);" }, { "code":"};" }, { "code":"console.log(`Take Order for Customer One`);" }, { "code":"processOrder();" }, { "code":"console.log(`Order Completed for Customer One`);" }, { "definition":"Synchronous প্রোগ্রামিংয়ে একটি কাজ সম্পন্ন হবার পর অন্য একটা কাজে মুভ করবে।." }, { "definition":"যদি একটি কাজ সম্পন্ন না হয় সে অন্য একটি কাজে মুভ করবে না.." }, { "definition":"জাভাস্ক্রিপ্টে একটা বিহেভিয়ার রয়েছে সেটাকে বলা হয় ব্লকিং বিহেভিয়ার।." }, { "definition":"অনেক সময় আমাদের ডাটাবেস থেকে ডাটা নিয়ে আসতে হয় বা API কল করে কোনো একটা ডাটা লোড করতে হয়" }, { "definition":"তখন প্রোগ্রাম রান করতে ৩-৪ সেকেন্ড সময় নিতে পারে সেটা ব্লক হয়ে থাকবে ।" }, { "definition":"যেটার কারণে বাকি প্রোগ্র্যাম গুলো রান হবে না" }, { "definition":"Synchronous এ একটি প্রোগ্রাম যতসময় পর্যন্ত শেষ না হয় সে অন্য একটি প্রোগ্রামে মুভ করতে পারবে না। " }, { "definition":"এখন আমরা চাচ্ছি যে আমাদের বাকি প্রোগ্রাম গুলো স্টপ না হয়ে সেগুলো রান করুক মাল্টি থ্রেডেড হয়ে " }, { "definition":"কিন্তু এই জিনিসটা আমরা" }, { "definition":"Synchronous এ সেটা করতে পারবো না" }, { "definition":"সেটার জন্য আমাদেরকে Asynchronous ব্যবহার করতে হবে." }, { "definition":"সেটার জন্য আমাদেরকে SetTimeOut ব্যবহার করতে হবে এটা Asynchronous এর ফাঙ্কশন " }, { "definition":"জাভাস্ক্রিপ্ট কোড যখন ব্রাউজার এর ভিতরে রান হয় তখন জাভাস্ক্রিপ্ট কোড প্রথমে মেশিন ল্যাংগুয়েজে কনভার্ট হয়।" }, { "definition":"তারপর ব্রাউজার সেটা বুঝতে পারে" }, { "definition":"মেশিন ল্যাঙ্গুয়েজে কনভার্ট হওয়ার জন্য ব্রাউজার এর ভিতরে কোনো না কোনো একটা মেকানিসম আছে।" }, { "definition":"ব্রাউজার এর ভিতরে মূলত দুইটা জিনিস থাকে একটা হচ্ছে রান টাইম এনভিরমেন্ট।" }, { "definition":"রান টাইম এনভিরমেন্ট ছাড়া ব্রাউসার এর ভিতরে আরেকটা জিনিসটা থাকে " }, { "definition":" যেটা আমাদের জাভাস্ক্রিপ্ট কোডেকে মেশিন ল্যাঙ্গুয়েজে কোডে রূপান্তরিত করে" }, { "definition":"সেটা হচ্ছে ব্রাউজার এর ইঞ্জিন।" }, { "definition":"প্রত্যেকটা ব্রাউজারের কিন্তু আলাদা আলাদা একটা ইঞ্জিন আছে। " }, { "definition":"আবার ইঞ্জিন এর মধ্যে একটা জিনিস থাকে সেটা হচ্ছে কল স্ট্যাক।" } ] } ] }