节点js,将javascript函数传递给add并存储它

时间:2014-06-08 22:46:16

标签: node.js v8 embedded-v8

我正在开发一个Node.js扩展,我想将一个javascript函数传递给它,稍后可以从c ++代码调用它。如果我将javascript函数存储在我的包装器类中并在传入它时正确调用它工作正常,但是如果我存储它并稍后尝试调用它会出现以下错误:

node: /home/david/.node-gyp/0.10.28/src/node_object_wrap.h:61: static T*    
node::ObjectWrap::Unwrap(v8::Handle<v8::Object>) [with T = Queue]: Assertion       
`handle->InternalFieldCount() > 0' failed.

我正在尝试完成像

这样的事情
var callback = require('my_addon');
callback.setCallback(function(){ console.log("test"); } // works fine if i call the function fron setCallback
callback.callCallback(); // gives that error if i try calling it from here

有没有人知道Node.js中是否可以这样做?

1 个答案:

答案 0 :(得分:1)

知道了,你必须将值存储在Persistent而不是Local