我在app.component.ts
的{{1}}中获取设置:
constructor
现在,我想基于构造函数中子组件中的获取设置加载代码。首先,我调用该服务,该服务调用export class AppComponent {
title = 'App works!';
constructor(private settings:SettingsService){
this.settings.fetch().then(()=>{ console.log('settings loaded'); });
}
}
:
settingsService
在this.floorPlanLayoutConfig = this.tablePlanService.getFloorPlanLayoutConfig();
中:
tablePlanService
我的getFloorPlanLayoutConfig () {
let config = this.settingsService.get();
};
如下:
settingsService
我总是收到错误消息“设置必须加载get”。因此响应缓冲区为let responseBuffer = null;
@Injectable()
export class SettingsService {
constructor(private http:Http) { }
fetch(force:Boolean = false){
return new Promise((resolve:any, reject: any) => {
if( responseBuffer === null || force ){
this.http.get(`/api/settings`)
.subscribe(
res => {
responseBuffer = res.json();
resolve( responseBuffer );
},
reject
);
}else{
//use buffered
resolve(responseBuffer);
}
});
}
/**
* for async calls, must be loaded
*/
get(){
if( responseBuffer === null)
throw "settings must be loaded with get";
return responseBuffer;
}
。
如何在null
函数之后在get()
中调用settingService
函数,在应用程序组件中调用该函数,以使响应缓冲区不是fetch()
(此代码是由其他人编写的。我只想实现其他功能)
感谢您的帮助!