fromPromise
在我的 TypeScript 应用程序中,我已经达到了我有一个内部执行多个操作的方法的地步toPromise
:
myMethod(...): Promise<string> {
return fromPromise(this.someService1.someMethod1(...)).pipe(
mergeMap(param => fromPromise(this.someMethod2(...))),
map(param => getSomethingFromParam(param)),
).toPromise();
}
还有someMethod1
andsomeMethod2
内部使用toPromise
and fromPromise
。
我明白,如果我这样说,它看起来很乱。然而,原因是在每个服务中都有一个干净的 API(例如,我主要使用someMethod1
andsomeMethod2
作为 Promise 的结果,所以我将它们的内部 observable 转换为 Promise 并像这样公开它)。
我当然可以重构整个事情,让我的服务公开更多方法,这样我就可以调用一个方法,直接返回一个 Observable 而不是 Promise。
我的问题是:我需要这样的重构吗?
换句话说:目前我的服务的 API 非常干净,它们只暴露 Promises。但我确实必须使用 rxjs 操作符,fromPromise
并且toPromise
每当我想从 rxjs 操作符中受益时。所以我想保持目前的状态,除非这些操作很昂贵(就性能而言)。