Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
This page was translated by the Cloud Translation API.
Switch to English

সিঙ্ক, অ্যাসিঙ্ক এবং প্রতিশ্রুতি

কোনও ফাংশনটি সঠিকভাবে সমাধান হয়েছে তা নিশ্চিত করার জন্য এটির জীবনচক্র পরিচালনা করা গুরুত্বপূর্ণ। সঠিকভাবে ফাংশনগুলি সমাপ্ত করে, আপনি যে ফাংশনগুলি খুব দীর্ঘ বা লুপের জন্য চলাফেরা করেন সেগুলি থেকে অতিরিক্ত চার্জগুলি এড়াতে পারবেন। এছাড়াও, আপনি নিশ্চিত করতে পারেন যে আপনার ফাংশনটি সফলভাবে সমাপ্ত অবস্থা বা অবস্থানে পৌঁছানোর আগে আপনার ফাংশনটি চালাচ্ছে মেঘ ফাংশনগুলির উদাহরণটি বন্ধ হয়ে যায় না।

আপনার ফাংশনগুলির জীবনকাল পরিচালনা করতে এই প্রস্তাবিত পদ্ধতিগুলি ব্যবহার করুন:

  • একটি জাভাস্ক্রিপ্ট প্রতিশ্রুতি ফিরে দিয়ে অ্যাসিঙ্ক্রোনাস প্রসেসিং ("পটভূমি ফাংশন" নামে পরিচিত) ফাংশনগুলি সমাধান করুন।
  • res.redirect() , res.send() , বা res.end() সহ HTTP ফাংশনগুলি সমাপ্ত করুন।
  • একটি return; সহ একটি সিঙ্ক্রোনাস ফাংশন সমাপ্ত return; বিবৃতি।

জাভাস্ক্রিপ্ট প্রতিশ্রুতি সহ অ্যাসিঙ্ক্রোনাস কোড সরল করুন

প্রতিশ্রুতিবদ্ধতা অ্যাসিঙ্ক্রোনাস কোডের কলব্যাকের আধুনিক বিকল্প। একটি প্রতিশ্রুতি একটি অপারেশন এবং ভবিষ্যতের মান এটি ফিরে আসতে পারে প্রতিনিধিত্ব করে। এটি আপনাকে সিঙ্ক্রোনাস কোডে চেষ্টা / ধরার অনুরূপ ত্রুটিগুলি প্রচার করতে দেয়। আপনি ফায়ারবেস ব্লগে ফায়ারবেস এসডিকে প্রতিশ্রুতিগুলি এবং এমডিএন- এ সাধারণভাবে প্রতিশ্রুতি সম্পর্কে পড়তে পারেন।

প্রতিশ্রুতি ফাংশন সঙ্গে কাজ কিভাবে

আপনি যখন কোনও জাভাস্ক্রিপ্টের প্রতিশ্রুতি কোনও ফাংশনে ফিরিয়ে দেন, প্রতিশ্রুতিটি সমাধান না হওয়া বা প্রত্যাখ্যান না করা অবধি এই ফাংশনটি চলতে থাকবে। কোনও ফাংশনটি সফলভাবে তার কাজ শেষ করেছে তা বোঝাতে, প্রতিশ্রুতিটি সমাধান করা উচিত। একটি ত্রুটি নির্দেশ করতে, প্রতিশ্রুতি প্রত্যাখ্যান করা উচিত। এর অর্থ আপনার কেবলমাত্র ত্রুটিগুলি পরিচালনা করতে হবে যা আপনি চান।

নিম্নলিখিত কোডটি ফায়ারবেস রিয়েলটাইম ডাটাবেস ref নেয় এবং এর মানটিকে "world!" সেট করে "world!"set ফলাফলটি ফিরিয়ে দিয়ে, আপনার ফাংশনটি ডাটাবেসে স্ট্রিং লেখার অ্যাসিক্রোনাস কাজ সম্পূর্ণ না হওয়া অবধি চালিয়ে যাওয়ার গ্যারান্টিযুক্ত:

// Always change the value of "/hello" to "world!"
exports.hello = functions.database.ref('/hello').onWrite(event => {
  // set() returns a promise. We keep the function alive by returning it.
  return event.data.ref.set('world!').then(() => {
    console.log('Write succeeded!');
  });
});

প্রসঙ্গে উদাহরণ

আমাদের বেশিরভাগ ক্লাউড ফাংশন কোডের নমুনাগুলিতে সঠিক ফাংশন সমাপ্তির উদাহরণ অন্তর্ভুক্ত। এখানে কয়েকটি যে সাধারণ ক্ষেত্রে প্রদর্শিত হয়: