উত্তর:
বেশ না। কোনও অ্যারে পাস করার সময় Observable.from
, এটির মধ্যে একমাত্র পার্থক্য এবং Observable.of
আর্গুমেন্টগুলি যেভাবে পাস হয়।
যাইহোক, যে Observable.from
একটি যুক্তি গ্রহণ করবে
সাবস্ক্রাইবযোগ্য অবজেক্ট, একটি প্রতিশ্রুতি, একটি পর্যবেক্ষণযোগ্য-মতো, একটি অ্যারে, একটি পুনরাবৃত্তিযোগ্য বা অ্যারের মতো অবজেক্টটি রূপান্তরিত হতে হবে
এর জন্য কোনও অনুরূপ আচরণ নেই Observable.of
- যা সর্বদা কেবল মানগুলি গ্রহণ করে এবং কোনও রূপান্তর সম্পাদন করে না।
অ্যারের মতো কাঠামো (স্ট্রিং সহ) পাস করার সময় of
এবং এর মধ্যে পার্থক্যটি নোট করা গুরুত্বপূর্ণ from
:
Observable.of([1, 2, 3]).subscribe(x => console.log(x));
একবারে পুরো অ্যারে মুদ্রণ করবে।
অন্য দিকে,
Observable.from([1, 2, 3]).subscribe(x => console.log(x));
1 দ্বারা 1 দ্বারা উপাদানগুলি মুদ্রণ করে।
স্ট্রিংগুলির জন্য আচরণটি একই, তবে চরিত্রের স্তরে।
আর একটি আকর্ষণীয় তথ্য হ'ল অবজারভেবল.এফ ([]) এ সাবস্ক্রাইব করার সময় খালি অ্যারে হবে। যেখানে আপনি পর্যবেক্ষণযোগ্য.ফর্ম ([]) এ সাবস্ক্রাইব করলে আপনি কোনও মান পাবেন না।
আপনি যখন সুইচম্যাপের সাথে একটানা অপারেশন করেন এটি গুরুত্বপূর্ণ।
প্রাক্তন: নীচের উদাহরণে, আমি একটি কাজ এবং তারপরে সাইটগুলি সংরক্ষণ করছি এবং তারপরে একটি স্ট্রিম হিসাবে মন্তব্য করব।
.do((data) => {
this.jobService.save$.next(this.job.id);
})
.switchMap(() => this.jobService.addSites(this.job.id, this.sites)
.flatMap((data) => {
if (data.length > 0) {
// get observables for saving
return Observable.forkJoin(jobSiteObservables);
} else {
**return Observable.of([]);**
}
})).do((result) => {
// ..
})
.switchMap(() => this.saveComments())
....
যদি সংরক্ষণের জন্য কোনও সাইট না থাকে, অর্থাত্; অ্যাডসাইট বিভাগে ডেটা দৈর্ঘ্য = 0, উপরের কোডটি পর্যবেক্ষণযোগ্য.ফ ([]) ফিরিয়ে দিচ্ছে এবং তারপরে মন্তব্যগুলি সংরক্ষণ করতে যায়। তবে আপনি যদি এটি পর্যবেক্ষণযোগ্য.ফর্ম ([]) দিয়ে প্রতিস্থাপন করেন তবে উত্তরোত্তর পদ্ধতিগুলি কল হবে না।
এক লাইনের পার্থক্য:
let fruits = ['orange','apple','banana']
থেকে : অ্যারে একের পর এক আইটেমগুলি প্রেরণ করুন। উদাহরণ স্বরূপ
from(fruits).subscribe(console.log) // 'orange','apple','banana'
এর : একবারে পুরো অ্যারেটি প্রেরণ করুন। উদাহরণ স্বরূপ
of(fruits).subscribe(console.log) // ['orange','apple','banana']
উল্লেখ্য: এর অপারেটর হিসাবে আচরণ করতে থেকে সঙ্গে অপারেটর বিস্তার অপারেটর
of(...fruits).subscribe(console.log) // 'orange','apple','banana'
https://stackblitz.com/edit/typescript-sckwsw?file=index.ts&devtoolsheight=100
from
: অ্যারে, প্রতিশ্রুতি বা পুনরাবৃত্তযোগ্য থেকে পর্যবেক্ষণযোগ্য তৈরি করুন। একমাত্র মান নেয়। অ্যারে, পুনরাবৃত্ত এবং স্ট্রিংগুলির জন্য, সমস্ত অন্তর্ভুক্ত মানগুলি ক্রম হিসাবে নির্গত হবে
const values = [1, 2, 3];
from(values); // 1 ... 2 ... 3
of
: মানের পরিবর্তনশীল পরিমাণের সাথে পর্যবেক্ষণযোগ্য তৈরি করুন, ক্রমানুসারে মানগুলি নির্গত করুন তবে একক মান হিসাবে অ্যারেগুলি
const values = [1, 2, 3];
of(values, 'hi', 4, 5); // [1, 2, 3] ... 'hi' ... 4 ... 5