Angular 如何将http响应数据从服务传递到app.module.ts
我做了一个服务,从后端调用一些api键,在Angular 如何将http响应数据从服务传递到app.module.ts,angular,Angular,我做了一个服务,从后端调用一些api键,在app.module.ts中全局配置我的应用程序。该服务甚至在app init之前就调用了data include,但我不知道如何传递到app.module.ts。有人遇到过这种情况吗 global-settings.service.ts: @Injectable() export class GlobalSettingsService { apiUrl: any; constructor( private http: Http,
app.module.ts
中全局配置我的应用程序。该服务甚至在app init之前就调用了data include,但我不知道如何传递到app.module.ts
。有人遇到过这种情况吗
global-settings.service.ts:
@Injectable()
export class GlobalSettingsService {
apiUrl: any;
constructor(
private http: Http,
@Inject(ORIGIN_URL) private baseUrl: string,
@Inject(API_PREFIX) private apiPrefix: string
) {
this.apiUrl = this.baseUrl + this.apiPrefix;
}
load() {
return new Promise((resolve, reject) => {
this.http
.get(this.apiUrl + 'bootstrap')
.map(res => res.json())
.subscribe(response => {
console.log(response);
resolve(true);
});
});
}
}
app.module.ts:
export function getUserAuthServiceConfigs() {
const config = new AuthServiceConfig(
[
{
id: GoogleLoginProvider.PROVIDER_ID,
provider: new GoogleLoginProvider(// I WANT TO PASS DATA FROM THE SERVICE ABOVE HERE //)
},
]
);
return config;
}
export function globalSettingsProviderFactory(provider: GlobalSettingsService) {
return (data) => provider.load();
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [
GlobalSettingsService,
{ provide: APP_INITIALIZER, useFactory: globalSettingsProviderFactory, deps: [GlobalSettingsService], multi: true },
{ provide: AuthServiceConfig, useFactory: getUserAuthServiceConfigs },
{ provide: ORIGIN_URL, useValue: '/' },
{ provide: API_PREFIX, useValue: 'api/' }
],
bootstrap: [AppComponent]
})
export class AppModule { }
以下是在应用程序初始化之前控制台中的响应返回的方式:
{
googleClientId: "abcd"
reCaptchaKey: "efgh"
}
甚至在app init之前调用数据的服务
?在应用程序启动之前调用服务意味着什么?在这个控制台以开发模式运行之前。调用enableProdMode()以启用生产模式。,响应数据已在控制台中。如果您不知道这一点,请查看此处: