Мне нужно выполнить две разные транзакции с БД для одного события (щелчка).
Первый вызов: сохранение данных в БД.
Второй вызов: получить сохраненные данные первого вызова из БД
Эти вызовы разделены на два разных компонента и имеют дело с одной общей таблицей БД.
Мой подход ниже:
Первый компонент TS:
ngOnDestroy(){ this.saveData(); }
Второй компонент TS:
ngOnInit(){ this.getSavedData(); }
Сервисный вызов для выполнения первого метода:
saveData(obj) {
return this.http.post(environment.appUrl + 'saveDataApi', obj).toPromise()
.then(res => <any>res); }
Оба эти метода запускаются последовательно в кодированном виде. Но моя проблема в том, что this.getSavedData();
завершает транзакцию БД раньше, чем Сохранить Транзакция БД метода завершена и ответ возвращается.
Мне нужно, чтобы вызов службы для метода «Сохранить» ожидал ответа БД и затем переходил к методу «Получить» в другом компоненте.
Вкратце: this.getSavedData();
не должен выполняться до тех пор, пока this.SaveData();
не завершит свое полное выполнение, возвращающее ответ.
Чего мне не хватает?