返回介绍

from

发布于 2021-03-12 13:47:48 字数 5357 浏览 1050 评论 0 收藏 0

from

函数签名: from(ish: ObservableInput, mapFn: function, thisArg: any, scheduler: Scheduler): Observable

将数组、promise 或迭代器转换成 observable 。


对于数组和迭代器,所有包含的值都会被作为序列发出!

此操作符也可以用来将字符串作为字符的序列发出!


示例

示例 1: 数组转换而来的 observable

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';

// 将数组作为值的序列发出
const arraySource = from([1, 2, 3, 4, 5]);
// 输出: 1,2,3,4,5
const subscribe = arraySource.subscribe(val => console.log(val));
示例 2: promise 转换而来的 observable

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';

// 发出 promise 的结果
const promiseSource = from(new Promise(resolve => resolve('Hello World!')));
// 输出: 'Hello World'
const subscribe = promiseSource.subscribe(val => console.log(val));
示例 3: 集合转换而来的 observable

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';

// 使用 js 的集合
const map = new Map();
map.set(1, 'Hi');
map.set(2, 'Bye');

const mapSource = from(map);
// 输出: [1, 'Hi'], [2, 'Bye']
const subscribe = mapSource.subscribe(val => console.log(val));
示例 4: 字符串转换而来的 observable

( StackBlitz | jsBin | jsFiddle )

// RxJS v6+
import { from } from 'rxjs';

// 将字符串作为字符序列发出
const source = from('Hello World');
// 输出: 'H','e','l','l','o',' ','W','o','r','l','d'
const subscribe = source.subscribe(val => console.log(val));

相关食谱

其他资源


源码: https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/from.ts

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文