Я решил это после того, как один из моих друзей объяснил мне это.
Похоже, что PATCH и любой запрос на добавление или редактирование базы данных занимают время, и в то время как программа продолжает делать другие вещи, поэтому функция обновления, где я получаю новые данные из базы данных, была вызвана до завершения запроса PATCH. .
Что я сделал, так это то, что я вызвал функцию обновления внутри подписки, вот так:
this.userService.updateCompletedLessons(this.user.id, course_id, updatedLessons).subscribe(
() => {
console.log("PATCH call successful value returned in body");
// get from backend updated data
this.updateUser();
},
error => this.errorMessage = <any>error
);