У меня есть функция для вызова службы
private callService() {
this.functionOne();
this.functionTwo();
this.functionThree();
}
private getOtherInfo() {
// pure sync here
this.getId(this.user['data']);
this.getType(this.name['data']);
}
Я хочу, чтобы сначала выполнялся порядок выполнения callService
, а затем getOtherInfo
.Однако я обнаружил, что код не может достичь второй функции.
Функции внутри callService
как-то похожи на
private functionOne() {
this.user['loading'] = true;
this.service['user'].get().subscribe(data => {
this.user['data'] = data;
}
}
private functionTwo() {
this.name['loading'] = true;
this.service['name'].get().subscribe(data => {
this.name['data'] = data;
}
}
.....
Так что я изменил функцию как
private callService(): Promise<any> {
return Promise.resolve() => {
this.functionOne();
this.functionTwo();
this.functionThree();
});
}
В ngOnInit()
Я звоню
this.callService().then(()=> this.getOtherInfo());
Однако вторая функция все еще не достигнута.