📜  rxjs of vs from (1)

📅  最后修改于: 2023-12-03 14:47:11.153000             🧑  作者: Mango

RxJS of vs from

在 RxJS 中,我们经常会使用 offrom 这两个操作符,用于创建 Observable。

of 操作符

of 操作符用于将一组值转换为 Observable。它接受任意数量的参数,并将这些参数作为 Observable 的值依次发出。

import { of } from 'rxjs';

const source = of(1, 2, 3);
source.subscribe(value => {
  console.log(value); // 输出 1, 2, 3
});

of 操作符将传入的值进行序列化,然后立即发出这些值。它相当于创建一个同步的 Observable。

from 操作符

from 操作符用于将数组、类数组、Promise、迭代器等转换为 Observable。它将这些数据转换为 Observable 发出。

import { from } from 'rxjs';

const arraySource = from([1, 2, 3]);
arraySource.subscribe(value => {
  console.log(value); // 输出 1, 2, 3
});

const promiseSource = from(Promise.resolve('Hello'));
promiseSource.subscribe(value => {
  console.log(value); // 输出 Hello
});

from 操作符可以处理各种类型的数据源,并将其转换为 Observable。它是一个异步的操作符,可以处理需要一定时间才能获取到数据的情况。

总结
  • of 操作符用于将一组值转换为 Observable,它是一个同步的操作符。
  • from 操作符用于将数组、类数组、Promise、迭代器等转换为 Observable,它是一个异步的操作符。

根据需求选择适合的操作符可以帮助我们更方便地处理各种数据源。