ভবিষ্যত এবং প্রতিশ্রুতির মধ্যে পার্থক্য কী? (আক্কা এবং জিপার্সে।)
তারা আমার কাছে উভয়কেই অবরুদ্ধ বলে মনে করে এবং যখন আহ্বান জানানো হয় তখন ভবিষ্যতের মান ফেরত দেয় এবং ভবিষ্যতের ফলাফল পাওয়ার জন্য একটি প্রতিশ্রুতি দেওয়া হয়।
ভবিষ্যত এবং প্রতিশ্রুতির মধ্যে পার্থক্য কী? (আক্কা এবং জিপার্সে।)
তারা আমার কাছে উভয়কেই অবরুদ্ধ বলে মনে করে এবং যখন আহ্বান জানানো হয় তখন ভবিষ্যতের মান ফেরত দেয় এবং ভবিষ্যতের ফলাফল পাওয়ার জন্য একটি প্রতিশ্রুতি দেওয়া হয়।
উত্তর:
আমি আক্কা / স্কালার বিষয়ে কথা বলব, কারণ আমি জিপার্স বা আক্কা / জাভার সাথে পরিচিত নই।
স্কেলা ২.১০-এ, যার মধ্যে স্ট্যান্ডার্ড ডিস্ট্রিবিউশনে আক্কার প্রাসঙ্গিক অংশ অন্তর্ভুক্ত রয়েছে, Future
এটি মূলত এখনও গণনাযোগ্য মানটির জন্য কেবল পঠনযোগ্য রেফারেন্স। এ Promise
হ'ল এটির পাশাপাশি আপনি এটি লিখতেও পারেন । অন্য কথায়, আপনি উভয় Future
ও Promise
গুলি উভয় থেকে পড়তে পারেন তবে আপনি কেবল এসগুলিতে লিখতে পারেন Promise
। আপনি এটির সাথে পদ্ধতিটি কল করে কোনওটির Future
সাথে যুক্ত হতে পারেন , তবে অন্য দিকে রূপান্তর সম্ভব নয় (কারণ এটি অযৌক্তিক হবে)।Promise
future
উইকিপিডিয়া অনুসারে এগুলি একই ধারণা:
কম্পিউটার বিজ্ঞানে, ভবিষ্যত, প্রতিশ্রুতি এবং বিলম্ব কিছু সমবর্তী প্রোগ্রামিং ভাষাতে সিঙ্ক্রোনাইজ করার জন্য ব্যবহৃত কনস্ট্রাক্টগুলি বোঝায়। তারা এমন একটি বস্তুর বর্ণনা দেয় যা ফলাফলের জন্য প্রক্সি হিসাবে কাজ করে যা প্রাথমিকভাবে অজানা, সাধারণত কারণ এর মানটির গণনা এখনও অসম্পূর্ণ।
কিছু লাইব্রেরি তাদের এক উপায়ে কল করতে পছন্দ করতে পারে, কেউ কেউ তাদের অন্য কল করতে পছন্দ করতে পারে। এবং প্রতিবার, এগুলি বিভিন্ন স্বাদে প্রয়োগ করা যেতে পারে। কিছু লাইব্রেরি বিভিন্ন স্বাদ পৃথক করতে এই প্রতিশব্দ ব্যবহার করতে পারেন। যদিও আমি যুক্তি দেব যে এটি একটি খারাপ পছন্দ (কারণ স্পষ্টতই এটি মানুষকে বিভ্রান্ত করে), এই লিঙ্কটি স্কালায় এই প্রচলিত অভ্যাসের পরামর্শ দেয়।
@ পাথারিঁর শিখার পরামর্শ অনুসারে, স্কালায় একটি Future
হ'ল পঠনযোগ্য অপারেশন, যখন Promise
এটি আপনাকে প্রতিনিধিত্ব করে এমন অপারেশনটির জন্য ফলাফল (বা ব্যর্থতা) আনার ক্ষমতা দেয়।
একজন Promise
যখন একটি, সেরা কোড ফলাফলের সঞ্চারিত অপারেশন চালায় দায়ী দ্বারা ব্যবহৃত এইভাবে Future
ক্লায়েন্ট কোডে এটা প্রকাশ করার, যে ঘুরে ফলাফলের অপেক্ষা করা হবে ব্যবহার করা হয়। তবে আবার, দয়া করে নোট করুন যে এই পার্থক্যটি স্কালা নির্দিষ্ট এবং বহিরাগতদের বিভ্রান্ত করতে পারে।
আমি এখানে কিছুটা যুক্ত করব কারণ আমি জাভাতে ফিউচারের আধিক্যের সাথে কাজ করে যাচ্ছিলাম তবে স্কাল / আক্কা বিকাশেও আমার পটভূমি রয়েছে। এই উত্তরটি বেশিরভাগই যা বলা হয়েছে তার সদৃশ হবে তবে আজ জেভিএম-এ জনপ্রিয় ব্যবহারে বাস্তবায়নের আধিক্যটি নির্দেশ করবে।
প্রথম, আসল পোস্টারটি গেট এবং ব্লক ব্যবহার করে উল্লেখ করেছে - দয়া করে পরীক্ষার বাইরে কখনও এটি করবেন না।
আমি যখন আমার বর্তমান ভূমিকায় এফপি এবং কনকুরન્સી ধারণাটি পড়ি, তখন আমি প্রথমে ছাত্রকে বলি যে শব্দার্থগতভাবে প্রতিশ্রুতি এবং ফিউচারগুলি প্রতিশব্দ কারণ কোনও প্রতিশ্রুতি বা ভবিষ্যতের এপিআইর গ্রাহক হিসাবে, বিকাশকারীকে বুঝতে হবে না যে সেখানে আছে বা যদি আছে শব্দার্থক পার্থক্য - কেবল আইওকে ব্লক না করে এগুলি পরিচালনা করার জন্য কেবল মেকানিক্স।
এটি বলতে যে কোনও ভবিষ্যত সম্পন্ন হতে পারে না এবং একটি প্রতিশ্রুতি (উদাহরণস্বরূপ স্ক্যালাল / আক্কা / প্লে এপিস অনুযায়ী) খুব সরলতর:
কিছু ফিউচার জাভা 8 সম্পূর্ণ হতে পারে এখন স্ট্যান্ডার্ড লাইব্রেরিতে একটি কমপ্লেটেবলফিউচার প্রবর্তন করে।
কিছু প্রতিশ্রুতি একইভাবে সম্পন্ন করা যায় না, প্লে প্রতিশ্রুতি এপিআই-এ একটি প্রতিশ্রুতি পূরণ করা যায় না তবে টাইপসেফের ছাতার অধীনে থাকা অবস্থায়ও একটি রেডেমেবলপ্রোমাইস খেলতে পারে অন্যরকম শব্দার্থকে। আরও, প্লে প্রতিশ্রুতি এপিআই উভয় দিকের স্কেল ফিউচারের সাথে রূপান্তর করতে পারে - (F.Promise.wrap (ভবিষ্যত) বা প্রতিশ্রুতি.রেপযুক্ত ())।
জাভা 8-এ টাইপসেফ প্রযুক্তির সাথে কাজ করা আপনি প্রায়শই ফিউচার / প্রতিশ্রুতিগুলির মধ্যে পিছনে পিছনে যাবেন কেবলমাত্র একটি এপিআই ভাল (প্লে প্রতিশ্রুতি এপিআই জাভা 8 ল্যাম্বডাসের সাথে আরও ভাল বলে মনে হচ্ছে)। আক্কা + প্লে + জাভা 8-এ আপনি অভিনেতাদের কাছ থেকে ফিউচার গ্রহণ করবেন এবং তাদের প্রতিশ্রুতিগুলিতে আবৃত করবেন, কলব্যাকগুলি রচনা করবেন এবং নিয়ামকের কাছ থেকে তা ফিরিয়ে আনবেন।
সুতরাং, আমি যখন লোকদের পড়ি, তখন প্রতিশ্রুতি এবং ফিউচারগুলি কম বেশি প্রতিশব্দ হয়।