如何解决Javascript 装饰对象
我一直在使用以下方法来装饰我的 javascript 对象,但它有一个限制,我想知道是否可以就如何最好地处理它获得一些建议。
export const ItemValidationDecorator = () => {
const decorate = (entity) => {
let _entity = {
...entity,...{
getSelected: () => {
return entity.selected;
},hasSelected: () => {
return entity.selected != null;
}
}
}
return _entity;
}
return {decorate}
}
//I call it from varIoUs places in my application
const _obj = decorate(response.data);
我通常传入一个从 API 调用返回的 JSON 对象,以添加一些方便的方法,以便它们在整个应用程序中可用。挑战在于,这些装饰方法(getSelected、hasSelected)中的每一个都不知道彼此,所以我无法做类似的事情;
getSelected: () => {
if (entity.hasSelected()) {
return entity.selected;
}
return 'Some useful error code,or other logic';
}
我正在寻找一种方法,让这些方法以某种方式相互了解。这个逻辑有没有模式,或者有不同的方式来实现类似的东西?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。