예를 들어, 관측 가능 범위가 from(['a', 'b'])
인 경우, [0, 'a']
및 [1, 'b']
을내는 관측 영역을 얻는 방법은 무엇입니까?동기화 관찰 가능 항목을 열거하는 방법은 무엇입니까?
내가 from('a', 'b').pipe(zip(range(0, Number.POSITIVE_INFINITY)))
을 시도했다, 그러나 이것은 무한 루프를 만듭니다 콘솔에서 (팁 : http://reactivex.io/rxjs/manual/overview.html이 수신 이미 가져온 페이지) Rx.Observable.from(['a', 'b']).zip(Rx.Observable.range(0, Number.POSITIVE_INFINITY)).do(console.log).subscribe()
을하려고하면,이 페이지가 중단 될 것입니다합니다 (range
무기한 값을 추진하고있다) . 필자의 맥락 (IndexedDB 작업)에서는 비동기식 스케줄러를 사용할 수 없으며 어쨌든 성능면에서 이해가되지 않습니다.
나는 사용자 정의 연산자
import { Observable } from 'rxjs/Observable';
import { map } from 'rxjs/operators';
export const enumerate = <T>(source: Observable<T>) => {
let index = 0;
return source.pipe(map(source => ({ value: source, index: index++ })));
};
을 만들어이 문제를 해결했다하지만 간단한 해결책을 놓친 거지?
from(['a', 'b']).pipe(
map((value, index) => [ index, value ]))
);
또는 개체를 방출 할 경우 : 그것은