В моем служебном компоненте есть следующий код, который получает данные из API:
async getIngredientsByProductSubCategory(productSubCategoryId: number) {
const url = '/my-url';
let dataToReturn: any;
await this.http.get(url).toPromise()
.then(data => {
console.log(data);
dataToReturn = data;
});
return dataToReturn;
}
Проблема в том, что приведенный выше файл console.log выводит правильные данные, но когда я выполняю их из другой компонент, подобный этому:
this.myService.getIngredientsByProductSubCategory(4);
я получаю этот вывод из моего console.log:
Что мне нужно сделать, чтобы получить правильные данные в другом компоненте? Должен ли я решить эту проблему каким-либо образом?
ОБНОВЛЕНИЕ:
Рабочее решение для меня:
Служба:
getIngredientsByProductSubCategory(productSubCategoryId: number) {
const url = '/my-url';
return this.http.get(url).toPromise();
}
Компонент:
async getIngredients() {
const ingredientsByProductSubCategory = await this.frontendService.getIngredientsByProductSubCategory(4);
}
Также я прочитал, что если у вас нет требования использовать повторяющиеся данные, вы не можете использовать Observables.
Спасибо всем за вашу помощь!