假设我们有一个对象:
const obj = { element }
和带有“异步陷阱”的代理:
const proxy = new Proxy( obj, {
get: async function(obj, prop) {
if(prop === 'element') {
// wait until child element appears ( - just for example,
// in general this function returns delayed value)
const result = wait(obj[prop].querySelector('.child')); //promise
return await result;
}
}
})
我已经尝试了上面的代码,但是没有用。似乎Proxy无法将异步获取识别为陷阱,也不会拦截获取器。
该如何解决?或者:
是否有另一种方法可以在不更改原始对象的情况下获取对象属性的“延迟”值?