Angular 4.4
我需要在我的服务中使用 fetch api而不是Angular的HttpClient才能在其他项目中使用这些服务(纯javascript类)。
所以我认为这就像扩展一个简单的javascript类一样简单,它使用fetch api并将@Injectable装饰器添加到子类。
以下是服务示例:(在此模块中,我根本不想依赖Angular,因为此模块也可能在React项目中使用)
export class SampleServiceBase {
constructor() {}
getCompanies() {
return fetch('https://example.com/companies');
}
}
这是该服务的Angular包装器:
@Injectable()
export class SampleService extends SampleServiceBase {
getCompanies():any {
return Observable.create(() => fromPromise(super.getCompanies()));
}
}
但事实证明,我无法从Angular HttpClient的某些功能中受益,例如 HttpInteceptors 。
所以我的问题是,如果有任何方法可以将获取api包装到Angular中的HttpClient api中吗?