我有一个pureComputed函数,我想解析其中的一个promise,但是,当在模板中引用promotionPrice
时,它显示的是promise unresolved([object Promise]
)。您知道我哪里出错了吗?调试后,我觉得我在代码中正确地解析了promise ...
this.promotionPrice = ko.pureComputed({
read: async () => {
const regionPrice = this.getRegionPrices().then(regions => _.meanBy(regions, region => region.price));
return await regionPrice;
},
write: (newValue) => {
// Relevant write code here
}
}).extend({ notify: 'always' });
在HTML模板中...
<input type="text" class="form-control spaced-select" data-bind="value: promotionPrice">
1条答案
按热度按时间vwkv1x7d1#
我不认为knockout subscribables支持异步读方法。你可以使用一个可观察的支持你的计算来代替写:
第一个
可能值得将此代码隔离到一个帮助程序中,并考虑错误处理。例如:
第一个
如果你问这个问题的原因并不是基于淘汰依赖关系来延迟获取数据,而是更多的是关于管理服务器和客户端状态,我认为你最好创建两个简单的可观察对象,并在视图模型中进行初始获取。
JS系统
于飞: