Я новичок в JavaScript. В следующем коде я могу знать, почему я все еще должен использовать return getRecipe (IDs [2]) вместо простого вызова getRecipe (IDs [2]) в методе .then? Даже у getRecipe () уже есть новый Promise? Я обнаружил, что получу неопределенную ошибку, если не буду использовать return в методе .then. Действительно ли возвращение возвращает обещание, которое мы получаем к следующему тогда? Но почему и как? Большое вам спасибо!
const getIDs = new Promise((resolve, reject) => {
setTimeout(() => {
resolve([523, 883, 432, 974]);
}, 1500);
});
const getRecipe = recID => {
return new Promise((resolve, reject) => {
setTimeout(
ID => {
const recipe = { title: 'Fresh tomato pasta', publisher: 'Jonas' };
resolve(`${ID} : ${recipe.title}`);
},
1500,
recID
);
});
};
getIDs
.then(IDs => {
console.log(IDs);
return getRecipe(IDs[2]);
})
.then(recipe => {
console.log(recipe);
})
.catch(error => {
console.log('Error!!');
});