- expand
- 签名:
expand(project: function, concurrent: number, scheduler: Scheduler): Observable
- 签名:
- 递归调用提供的函数
- 示例
- 示例 1: 每次调用加1
- 示例
- 相关食谱
- 其他资源
expand
签名: expand(project: function, concurrent: number, scheduler: Scheduler): Observable
递归调用提供的函数

示例
示例 1: 每次调用加1
( StackBlitz |
jsBin |
jsFiddle )
import { interval } from 'rxjs/observable/interval';import { of } from 'rxjs/observable/of';import { expand, take } from 'rxjs/operators';// 发出 2const source = of(2);const example = source.pipe(// 递归调用提供的函数expand(val => {// 2,3,4,5,6console.log(`Passed value: ${val}`);// 3,4,5,6return of(1 + val);}),// 用5次take(5));/*"RESULT: 2""Passed value: 2""RESULT: 3""Passed value: 3""RESULT: 4""Passed value: 4""RESULT: 5""Passed value: 5""RESULT: 6""Passed value: 6"*/// 输出: 2,3,4,5,6const subscribe = example.subscribe(val => console.log(`RESULT: ${val}`));
相关食谱
- 游戏循环
其他资源
- expand
- 官方文档
源码: https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/expand.ts
