如何将运行时数据从一个V8Object深度复制到另一个?

时间:2018-08-16 23:20:40

标签: java node.js j2v8

我正在使用eclipsesource J2V8库与Node JS脚本进行通信。要求之一是捕获V8Object的execute * Function方法抛出的异常,将其记录到我们的日志存储中,然后将异常返回给应用程序处理。

为此,我将重写V8Object类的上述方法,并在构造函数中传递已创建的V8Object(我不能使用创建原始V8Object对象的“包装”类)。我的构造函数如下:

public V8ObjectWrapper(V8Object _v8Object)
{
  super(_v8Object.getRuntime());
  super.setPrototype(_v8Object);
}

第一行是将v8RuntimePointer提供给我的包装器对象,prototype方法调用是将对象的原型复制到我的包装器对象。

一切正常。包装对象具有正确的方法和已注册的回调。但是,由该包装对象表示的nodeJS对象往往会丢失存储在this变量中的信息。如何复制原始的V8Object,以便将所有信息包含在包装对象中?

0 个答案:

没有答案