Если вы используете rxjs6, вы можете преобразовать Promise в Observable с помощью функции from
.Затем вы отправляете трубку оператору map
для его приведения.Я не уверен, является ли R определенным интерфейсом или вы хотите, чтобы get
был универсальным.Если последнее верно, вам нужно поставить <R>
после get
, а затем использовать ключевое слово as
.Это, вероятно, не удастся для большинства типов, хотя.
import { from, Observable } from 'rxjs';
import { map } from 'rxjs/operators'
/*...*/
public get<R>(): Observable<R>{
const obs = from(API.get());
return obs.pipe(map(response => response as R));
}