проблема в том, что ваш оператор console.log выполняется даже до того, как вы получите ответ (асинхронный).
То, как вы храните данные в переменной, совершенно нормально, вам просто нужно переместить оператор консоли внутри подписки.
Ниже показано, как это выполняется
console.log("going to call method") --- (1)
getFavorites(){ --- (2)
console.log("executing...") --- (3)
this.jobService.getFavoritesFromDB().subscribe((data) => {
console.log("data inside subscribe", data) --- executes when response arrives --- (5)
this.finalData = data
});
console.log("data outside subscribe", this.finalData); --- (4)
... and continues
}
O / P:
going to call method
executing...
data outside subscribe // undefined or null (blank)
data inside subscribe "your data"