gpt4 book ai didi

typescript - 将 ECMAScript Observable/Zen Observable 转换为 RXJS Observable

转载 作者:行者123 更新时间:2023-12-04 08:04:03 37 4
gpt4 key购买 nike

我有一个 spec-compliant ECMAScript Observable ,具体来自 wonka library .我正在尝试将这种类型的 observable 转换为 rxjs 6 observable,但没有成功。

看来这可能在 rxjs 5 中是可能的。我试过这个:

import { pipe, toObservable, fromArray } from 'wonka';
import { from } from 'rxjs';
...
from(
pipe(
fromArray([1, 2, 3]),
toObservable
)
);

我在浏览器中收到此错误:

ERROR TypeError: You provided an invalid object where a stream was expected. 
You can provide an Observable, Promise, Array, or Iterable.

然后是这个:

Argument of type 'observableT<any>' is not assignable to parameter
of type 'ObservableInput<any>'

在可视代码对话框中。

我可以通过这样做将其转换为 zen-observable:

npm i zen-observable
npm i --save-dev @types/zen-observable
import { from } from 'zen-observable';
...
getObservable(): Observable<any> {
return from(
pipe(
fromArray([1, 2, 3]),
toObservable
) as any) as any;
}

但是,zen-observable 不是一回事,并且不允许我使用所有 rxjs 方法等...

如何将其转换为 rxjs 可观察对象?

谢谢J

最佳答案

编写一个利用订阅 API 相同这一事实的转换函数:

const zenToRx = <T>(zenObservable: Zen.Observable<T>): Rx.Observable<T> =>
new Rx.Observable(
observer => zenObservable.subscribe(observer)
);

关于typescript - 将 ECMAScript Observable/Zen Observable 转换为 RXJS Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66309283/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com