如何使代理的陷阱异步?

时间:2019-07-09 02:20:02

标签: javascript es6-proxy

假设我们有一个对象:

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无法将异步获取识别为陷阱,也不会拦截获取器。

该如何解决?或者:

是否有另一种方法可以在不更改原始对象的情况下获取对象属性的“延迟”值?

0 个答案:

没有答案