用我们的类而不是 Angulars Http
在扩展 Http 类之后,我们需要告诉 angular 使用这个类而不是 Http 类。
为了做到这一点,在我们的主模块中(或根据需要,只是一个特定的模块),我们需要在提供者部分写:
export function httpServiceFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, router: Router, appConfig: ApplicationConfiguration) {
return new HttpServiceLayer(xhrBackend, requestOptions, router, appConfig);
}
import { HttpModule, Http, Request, RequestOptionsArgs, Response, XHRBackend, RequestOptions, ConnectionBackend, Headers } from '@angular/http';
import { Router } from '@angular/router';
@NgModule({
declarations: [ ... ],
imports: [ ... ],
exports: [ ... ],
providers: [
ApplicationConfiguration,
{
provide: Http,
useFactory: httpServiceFactory,
deps: [XHRBackend, RequestOptions, Router, ApplicationConfiguration]
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
注意:ApplicationConfiguration 只是我用来在应用程序持续时间内保存一些值的服务