Я пытаюсь сопоставить массив объектов, возвращаемых сторонним API, чтобы вернуть определенные значения объектов, но в моей функции карты есть ошибка, и я не могу понять, почему. Я протестировал, чтобы убедиться, что остальная часть моего кода ведет себя должным образом, это всего лишь одна функция карты, с которой я не могу работать.
Это мой текущий код:
async function displayRecipeCard(inputString) {
const recipes = await getRecipeInfo(inputString); //fetches data from api and returns an object
const recipeResults = recipes.results; // returns an array of objects
const recipeCard = recipeResults.map(recipe => {
return recipe.title;
});
};
Возвращение:
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: undefined
Теперь, если я напишу:
async function displayRecipeCard(inputString) {
const recipes = await getRecipeInfo(inputString);
const recipeResults = await recipes.results;
return recipeResults[0].title;
};
Он возвращает заголовок первого элемента объекта массива, как и ожидалось:
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: undefined
Может ли кто-нибудь заметить какие-либо ошибки в моем коде или понять, в чем проблема?
Спасибо!
recipeCard
- это обещание, которое разрешается как undefined? Или вы говорите, что вызовdisplayRecipeCard()
дает обещание, которое принимает значение undefined? Если этоdisplayRecipeCard()
, это потому, что вы ничего не возвращаете из функцииdisplayRecipeCard
- person Nick Parsons   schedule 04.07.2020