Я пытаюсь понять обещания, мне нужно объединить их в цепочку и украсить данные ширины объекта с разных конечных точек.
Например:
У меня есть это в моем приложении для экспресс-обработки узлов
//controller.js
export const getItem = (req, res) => {
ItemService.getItem(req.params.id).then(function(item) {
return res.json({ 'success': true, 'message': 'Item found successfully', 'item': item});
}).catch(function(result) {
return res.json({ 'success': false, 'errorMessage': 'Ups!' });
});
};
//itemService.js
export const getItem = function(id){
return new Promise(function(resolve, reject) {
fetch(apiUrls.getItem(id))
.then(response => {
if(response.ok){
response.json().then(data => {
resolve(data);
})
} else {
reject(response.err);
}
});
});
};
Итак, я хочу украсить данные перед оператором разрешения.Действительно, я хочу сделать другую выборку для другого API и использовать данные из этого ответа, чтобы украсить данные, о которых я говорю в первую очередь.Я напишу какой-нибудь псевдокод:
fetch (api1)
responseApi1 //{id: 123, name: 'Mike'}
fetch (api2)
responseApi2
responseApi1.description = responseApi2.description
responseApi1.address = responseApi2.address
return responseApi1 //responseApi1 decorated width responseApi2
//Controller
return res.json({ 'success': true, 'message': 'Item found successfully', 'item': responseApi1});
Я вообще не понимаю обещаний, не могу выполнить эту цепочку обещаний и украсить только один объект через эти обещания и вернуть его.