2016-05-01 4 views
4
new Proxy(function() {}, {}) 

Создание прокси-сервера для просмотра функции не работает в Chrome. Вместо этого он выдает ошибку:новый прокси не работает с функциями в Chrome

Uncaught illegal access 

Я хочу посмотреть функцию и создать прокси-обработчик, когда его свойства будут доступны. Похоже, в Firefox. Любой способ обойти это?

ответ

5

Это проблема с консолью Chrome devtools, которая пытается показать результат, а не сам конструктор Proxy. Какую версию Chrome вы используете?

В консоли Chrome 50, я вижу это:

> let p = new Proxy(function(){return 6},{}) 
< undefined 
> p 
< #<Function> 
Uncaught illegal access 
    DebuggerScript.getFunctionScopes @ (program):4 
> p() 
< 6 

Так функция прокси работает просто отлично, но консоль barfs его отображения. Должны быть исправлены в последних версиях Chrome. Пока вы можете просто проигнорировать ошибку.

0

Действительно, поскольку @AndreasRossberg ответил на ограничение Chrome. Если вы используете тот же код в Firefox, он работает правильно и выдает как ожидалось:

> let p = new Proxy(function(){return 6},{}) 
< undefined 
> p 
< function() 
> p() 
< 6 

 Смежные вопросы

  • Нет связанных вопросов^_^