সুতরাং, সি # 5 এ নতুন অ্যাসিঙ্ক সমর্থন সম্পর্কে কিছু আমাকে বগল করছে:
ব্যবহারকারী একটি বোতাম টিপে যা একটি অ্যাসিঙ্ক অপারেশন শুরু করে। কলটি তত্ক্ষণাত্ ফিরে আসে এবং বার্তা পাম্প আবার চলতে শুরু করে - এটিই পুরো বিষয়টি।
সুতরাং ব্যবহারকারী আবার বোতাম টিপতে পারে - পুনরায় প্রবেশের কারণ। যদি এই সমস্যা হয়?
আমি দেখেছি এমন ডেমোতে, তারা await
কল করার আগে বোতামটি অক্ষম করে এবং পরে আবার এটি সক্ষম করে। এটি আমার কাছে বাস্তব-বিশ্বের অ্যাপ্লিকেশনে খুব ভঙ্গুর সমাধানের মতো মনে হয়।
আমাদের কি কোনও ধরণের স্টেট মেশিনের কোড করা উচিত যা নির্দিষ্ট করে চলমান ক্রিয়াকলাপগুলির জন্য কোন নিয়ন্ত্রণগুলি অক্ষম করা উচিত তা নির্দিষ্ট করে? নাকি এর চেয়ে ভাল উপায় আছে?
অপারেশনের সময়কালের জন্য আমি কেবলমাত্র একটি মডেল ডায়ালগ দেখানোর জন্য প্রলুব্ধ হয়েছি, তবে এটি কিছুটা স্লেজহ্যামার ব্যবহার করার মতো মনে হয়।
দয়া করে কোনও উজ্জ্বল ধারণা পেয়েছেন?
সম্পাদনা করুন:
আমি মনে করি যে অপারেশন চলাকালীন ব্যবহার করা উচিত নয় এমন নিয়ন্ত্রণগুলি অক্ষম করা কারণ আমি মনে করি যখন আপনার উইন্ডোতে অনেকগুলি কন্ট্রোল রয়েছে তখন এটি দ্রুত জটিল হয়ে উঠবে। আমি জিনিসগুলি সহজ রাখতে পছন্দ করি কারণ এটি প্রাথমিক কোডিং এবং পরবর্তী রক্ষণাবেক্ষণের সময় উভয় বাগের সম্ভাবনা হ্রাস করে।
যদি নিয়ন্ত্রণের কোনও সংগ্রহ থাকে যা একটি নির্দিষ্ট ক্রিয়াকলাপের জন্য অক্ষম করা উচিত? এবং যদি একাধিক অপারেশন একই সাথে চলমান হয়?