首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绕过V8::Object中的AccessorGetter拦截器

如何绕过V8::Object中的AccessorGetter拦截器
EN

Stack Overflow用户
提问于 2012-10-16 12:06:06
回答 1查看 253关注 0票数 2

如何绕过AccessorGetter拦截器?

代码语言:javascript
复制
Handle<FunctionTemplate> mars_obj_templ = FunctionTemplate::New(createMars);  
Handle<ObjectTemplate> mars_obj_proto = mars_obj_templ->PrototypeTemplate();  
Handle<ObjectTemplate> mars_obj_inst = mars_obj_templ->InstanceTemplate();  
mars_obj_inst->SetInternalFieldCount(1);
mars_obj_inst->SetAccessor(String::New("name"),GetName,SetName);

Handle<Value> GetName(Local<String> property,const AccessorInfo &info){
    Local<Object> self = info.Holder();
    //return what, if self->Get(property) will Recursive call
}
EN

回答 1

Stack Overflow用户

发布于 2012-10-22 05:03:27

根据我的经验,你不能,但是如果你在ObjectTemplate上使用SetNamedPropertyHandler注册一个通用的拦截器,你可以安全地调用self->Get,而不会导致递归。将请求的属性与您感兴趣的属性进行比较,您可以处理它们并转发其他调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12907395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档