Требуется при подгрузке компонента TaskMainComponent загрузить из базы значение переменной tasksView, и на основании того, какое она приняла значение, выстраивать страницу дальше. Как я понимаю, для этого нужно использовать синхронный запрос, но нигде не могу найти, как именно это сделать.
На данный момент значение переменной загружается следующим образом:
task-main.component.ts
ngOnInit() {
this.getTasksView();
if (this.tasksView == 'table') {
this.getTasks();
console.log('table');
}
else if (this.tasksView == 'list') {
this.router.navigate(['/tasks', 'list']);
console.log('list');
}
}
getTasksView(): void {
this.tasksService.getTasksView().then(tasksView => this.tasksView = tasksView);
console.log(this.tasksView);
}
tasks.service.ts
getTasksView(): Promise<string> {
return this.http.get(this.tasksViewUrl)
.toPromise()
.then(response => response.json().data as string)
.catch(this.handleError);
}
И конечно, страница не ждет, когда же сервер ответит, а идет дальше, переменная оказывается не определена. Как это поправить? В ангуляре новичок.