как сделать ловушку Прокси асинхронной? - PullRequest
0 голосов
/ 09 июля 2019

Допустим, у нас есть объект:

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;
          }
    }
})

Я пробовал код выше, но он не работает. Похоже, что Прокси не распознает асинхронное получение как ловушку и не перехватывает получатель.

Как это исправить? Или:

Есть ли другой способ получить «отложенное» значение свойства объекта без мутации исходного объекта?

...