если под возвратом вы имеете в виду использовать данные, возвращенные buildOrder
после вызова findCustomerOrders
, вы можете просто .then
это сделать. Просто убедитесь, что функция возвращает Обещание.
findCustomerOrders(1).then((data) => {
// data should be what buildOrder resolve to.
})
data.map возвращает массив Promises, каждый из которых будет преобразован в результат buildOrder. Таким образом, вы также должны вернуть обещание:
findCustomerOrders(customerId) {
return APIService.getCustomerOrders(this, customerId)
.then((data) => {
return Promise.all(data.map(order => {
return Promise.all([APIService.getShippingAddress(this, order.id), APIService.getProducts(this,order.id), APIService.getCustomerById(this, customerId)])
.then((returnedData)=>{
return buildOrder(returnedData);
});
}));
});
}