কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে Deferreds, Promises এবং Futures-এর পার্থক্য কী?

প্রমাণ, ডিফার্ড এবং ফিউচারের ধারণা

জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস প্রোগ্রামিংয়ের সময় এই তিনটি টার্ম প্রায় একই অর্থে ব্যবহৃত হয়, তবে এদের মধ্যে সূক্ষ্ম পার্থক্য রয়েছে।

Future (ফিউচার)

Future একটি পুরানো টার্ম যা বর্তমানে Promise-এর সমানামী হিসেবে বিবেচিত হয়। এটি একটি মান নির্দেশ করে যা ভবিষ্যতে পাওয়া যাবে।

Promise (প্রমিশ)

  • এটি একটি প্রক্সি অবজেক্ট যা ভবিষ্যতে একটি মান (সফলতা বা ব্যর্থতা) প্রতিনিধিত্ব করে।
  • প্রমিশ তৈরি করার সময় মান অজানা থাকে।
  • এটির তিনটি অবস্থা থাকে: pending, fulfilled (resolved), rejected।
  • এটি শুধুমাত্র পড়ার জন্য (read-only), অর্থাৎ বাইরের কোড থেকে এটি রিজলভ বা রিজেক্ট করা যায় না।

Deferred (ডিফার্ড)

  • এটি একটি কম্পিউটেশন বা কাজের প্রতিনিধিত্ব করে যা এখনো সমাপ্ত হয়নি।
  • সাধারণত Deferred প্রমিশ থেকে প্রসারিত হয় এবং এতে resolve() এবং reject() মেথড থাকে।
  • ডিফার্ড নিজেই নিজে রিজলভ বা রিজেক্ট করতে পারে, অর্থাৎ এটি প্রমিশের ऊपर নিয়ন্ত্রণ রাখে।
  • jQuery-এর $.Deferred() এর মতো লাইব্রেরিতে এটি পाए যাবে।

মূল পার্থক্য সারসংক্ষেপ

বিষয়PromiseDeferred
ভূমিকাভবিষ্যতের মানের প্লেসহোল্ডারমান তৈরি করার কাজের প্রতিনিধিত্ব
নিয়ন্ত্রণবাহির থেকে রিজলভ/রিজেক্ট করা যায় নানিজে রিজলভ/রিজেক্ট করতে পারে
ব্যবহারআধুনিক JS-এ স্ট্যান্ডার্ড (ES6+)লিগ্যাসি লাইব্রেরি (যেমন jQuery) spécifique

আধুনিক জাভাস্ক্রিপ্টে (ES6+) শুধুমাত্র Promise ব্যবহার করা পরামর্শ দেওয়া হয়। Deferred প্যাটার্ন বর্তমানে প্রচলন থেকে বাইরে।

  1. পাইথন ২.x এবং ৩.x ভার্সনের পার্থক্যগুলো কী?

  2. পাইথন ২.৭.x এবং পাইথন ৩.x-এর মধ্যে মূল পার্থক্য

  3. ওয়াই-ফাই ৬ এবং ৫জি নেটওয়ার্কের মধ্যে পার্থক্য কী?

  4. উইন্ডোজ ১০ বনাম উইন্ডোজ ১১: মূল পার্থক্য ও আপনার জন্য কোনটি সঠিক