📅  最后修改于: 2023-12-03 14:47:11.153000             🧑  作者: Mango
of
vs from
在 RxJS 中,我们经常会使用 of
和 from
这两个操作符,用于创建 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,它是一个异步的操作符。根据需求选择适合的操作符可以帮助我们更方便地处理各种数据源。