1
我正在嘗試設置默認頭使用由角2.文檔中提供的DefaultRequestOptions類我的http請求可以在這裏找到:https://angular.io/docs/ts/latest/guide/server-communication.html#!#override-default-request-options循環依賴錯誤導入服務到另一個服務時
我想添加一個默認承載令牌,這在我服務的一個獲取設置,但這樣做給了我下面的錯誤在我的瀏覽器控制檯:
未處理的承諾拒絕:提供解析錯誤:無法實例 循環依賴! Http:在./AppModule中的NgModule AppModule中;區域: ;任務:Promise.then;價值:
這裏是我的默認請求options.service.ts文件:
import { Injectable } from '@angular/core';
import { BaseRequestOptions, RequestOptions } from '@angular/http';
import { UserService } from './user.service';
@Injectable()
export class DefaultRequestOptions extends BaseRequestOptions {
constructor(private userService: UserService) {
super();
// Set the default 'Content-Type' header
this.headers.set('Content-Type', 'application/json');
this.headers.set('Accept', 'application/json');
this.headers.set('Authorization', 'Bearer ' + this.userService.idToken);
}
}
export const requestOptionsProvider = { provide: RequestOptions, useClass: DefaultRequestOptions };
下面是相關的代碼在我app.module.ts文件:
import { requestOptionsProvider } from './default-request-options.service';
import { UserService } from './user.service';
@NgModule({
imports: [
...
],
declarations: [
...
],
providers: [
...
requestOptionsProvider,
UserService
],
bootstrap: [ AppComponent ]
})
我在做什麼錯?
http://stackoverflow.com/questions/40860202/di-with-cyclic-dependency-with-custom-http-and-configservice/40860233#40860233,http://stackoverflow.com/questions/41225627/custom -service-in-extended-http-not-getting-injected/41226493#41226493,http://stackoverflow.com/questions/39286983/how-to-override-http-class-in-rc6/39287030#39287030 –
I我面臨同樣的問題。你找到解決方案嗎? –