লোকেরা সংজ্ঞা দিয়ে যে বিষয়গুলিকে জটিল করে তুলবে তা বলে:
ফ্ল্যাটম্যাপ পর্যবেক্ষণযোগ্য দ্বারা নির্গত আইটেমগুলি পর্যবেক্ষণযোগ্যগুলিতে রূপান্তরিত করে, তারপরে সেগুলি থেকে নির্গমনকে একক পর্যবেক্ষণযোগ্য করে তুলুন
আমি শপথ করছি এই সংজ্ঞাটি এখনও আমাকে বিভ্রান্ত করে তবে আমি এটি সহজ পদ্ধতিতে ব্যাখ্যা করতে যাচ্ছি যা একটি উদাহরণ ব্যবহার করে
আমাদের পরিস্থিতি : আমাদের একটি পর্যবেক্ষণযোগ্য রয়েছে যা ডেটা (সাধারণ ইউআরএল) ফেরত দেয় যা আমরা এইচটিটিপি কল করতে ব্যবহার করতে যা যা আমাদের প্রয়োজনীয় ডেটা সম্বলিত পর্যবেক্ষণযোগ্যকে ফিরিয়ে দেবে যাতে আপনি পরিস্থিতিটি এইরকম দেখতে পারেন:
Observable 1
|_
Make Http Call Using Observable 1 Data (returns Observable_2)
|_
The Data We Need
যাতে আপনি দেখতে পাচ্ছেন যে আমরা আমাদের প্রয়োজনীয় ডেটাতে পৌঁছাতে পারি না তাই ডাটা পুনরুদ্ধার করার প্রথম উপায়টি আমরা কেবলমাত্র সাধারণ সাবস্ক্রিপশনগুলি এর মতো ব্যবহার করতে পারি:
Observable_1.subscribe((URL) => {
Http.get(URL).subscribe((Data_We_Need) => {
console.log(Data_We_Need);
});
});
এটি কাজ করে তবে আপনি দেখতে পাচ্ছেন আমাদের ডেটা পেতে আমাদের সাবস্ক্রিপশন করতে হবে এটি বর্তমানে খারাপ দেখাচ্ছে না তবে কল্পনা করুন যে আমাদের 10 টি নেস্টেড সাবস্ক্রিপশন রয়েছে যা অকল্পনীয় হয়ে উঠবে।
সুতরাং এটি পরিচালনা করার একটি সর্বোত্তম উপায় হ'ল অপারেটরটি ব্যবহার করা flatMap
যা একই কাজ করবে তবে আমাদের সেই নেস্টেড সাবস্ক্রিপশন এড়াতে সক্ষম করে:
Observable_1
.flatMap(URL => Http.get(URL))
.subscribe(Data_We_Need => console.log(Data_We_Need));