在TypeScript应用程序中,我已经达到了一种方法,可以在内部执行多个fromPromise
和toPromise
操作:
myMethod(...): Promise<string> {
return fromPromise(this.someService1.someMethod1(...)).pipe(
mergeMap(param => fromPromise(this.someMethod2(...))),map(param => getsomethingFromParam(param)),).toPromise();
}
someMethod1
和someMethod2
在内部也使用toPromise
和fromPromise
。
我知道,如果我这样说,看起来会很混乱。但是,原因是在每个服务中都有一个干净的API(例如,我大多使用someMethod1
和someMethod2
的结果作为承诺,因此我将其内部可观察值转换为Promise并像这样公开它)。 / p>
我当然可以重构整个事情,让我的服务公开更多方法,例如,我可以调用一个直接向我返回Observable而不是Promise的方法。
我的问题是:我需要这样的重构吗?
换句话说:当前,我的服务的API相当干净,它们仅公开Promises。但是,每当我想从rxjs运算符中受益时,就必须使用fromPromise
和toPromise
。因此,除非这些操作费用昂贵(就性能而言),否则我希望保持目前的状态。