我正在使用 Ember Data 并尝试创建一个计算属性,该属性等于商店中应用了各自折扣的所有产品的总和。我是承诺链的新手,我相信这是我如何格式化链的问题。
export default DS.Model.extend({
title: DS.attr('string'),
storeProducts: DS.hasMany('storeProduct',{async:true}),
totalStoreValue:function(){
store.get('storeProducts').then(function(storeProducts){ //async call 1
return storeProducts.reduce(function(previousValue, storeProduct){ //begin sum
return storeProduct.get('product').then(function(product){ //async call 2
let price = product.get('price');
let discount = storeProduct.get('discount');
return previousValue + (price * discount);
});
},0);
}).then(function(result){ //
return result;
});
}.property('storeProducts.@each.product'),
任何帮助和建议将不胜感激。