В моем приложении 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
в качестве обещаний, поэтому я конвертирую их внутреннюю наблюдаемость в Обещание и выставляю их вот так).
Я мог бы, конечно, все изменить, имея свои службы для предоставления большего количества методов, чтобы я мог, например, вызвать метод, который возвращает мне непосредственно Observable вместо Promise.
Мой вопрос: нужны ли мне такие рефакторинг?
Другими словами: в настоящее время API моих сервисов довольно чистые, они только предоставляют Обещания. Но я должен играть с fromPromise
и toPromise
всякий раз, когда я хочу получить выгоду от операторов rx js. Поэтому я хотел бы оставить все как есть, если только эти операции не дороги (с точки зрения производительности).