Rxjs 将一次发射分成若干次

Rxjs 将一次发射分成若干次,rxjs,rxjs6,Rxjs,Rxjs6,我有一个可观测的,numberRange$,它发出一个数字数组,比如[65,66,67,68] 是否有任何数字可以订阅numberRange$,并将阵列中的每个数字作为新管道中的单独排放 每个数字都将用作异步http调用的输入,而使用mergeMap,批处理http调用非常简单,因为api一次只允许2次并行计算 现在,我订阅numberRange$并将输出保存在变量numberRange$中,并使用rxjs/operators.fromnumberRange.pipemergeMapsomeFu

我有一个可观测的,numberRange$,它发出一个数字数组,比如[65,66,67,68]

是否有任何数字可以订阅numberRange$,并将阵列中的每个数字作为新管道中的单独排放

每个数字都将用作异步http调用的输入,而使用mergeMap,批处理http调用非常简单,因为api一次只允许2次并行计算

现在,我订阅numberRange$并将输出保存在变量numberRange$中,并使用rxjs/operators.fromnumberRange.pipemergeMapsomeFunc和batchCount执行操作,但我宁愿直接使用numberRange$并在点击mergeMap之前将阵列拆分为单独的发射


谢谢你的回答

当然,我想你可以使用mergeMap来分割发射

numberRange$.pipe(
    mergeMap(nums => nums) // mergeMap(nums => from(nums))
).subscribe(console.log);
您可以使用concatMap:


您可以使用just mergeAll,例如:numberRange$.pipemergeAll.subscribe就像一个符咒!
import { of } from 'rxjs';
import { concatMap } from 'rxjs/operators';

of([65, 66, 67, 68]).pipe(concatMap(x => x)).subscribe(console.log);