Javascript 如何在node-win32ole中接收COM事件

Javascript 如何在node-win32ole中接收COM事件,javascript,node.js,com,atl,Javascript,Node.js,Com,Atl,我有一个小的ATLCOM对象,它实现了一个方法(Method1),并在调用该方法时触发一个事件(Event1) 我可以在nodejs脚本中创建这个COM并调用它的方法。但我无法接收它的事件 此代码工作正常: var win32ole = require('win32ole'); var api = new ActiveXObject("MySampleATLClass.Api"); api.Method1(); 但此代码会产生错误: var win32ole = require('win3

我有一个小的ATLCOM对象,它实现了一个方法(Method1),并在调用该方法时触发一个事件(Event1)

我可以在nodejs脚本中创建这个COM并调用它的方法。但我无法接收它的事件

此代码工作正常:

var win32ole = require('win32ole');

var api = new ActiveXObject("MySampleATLClass.Api");

api.Method1();
但此代码会产生错误:

var win32ole = require('win32ole');

var api = new ActiveXObject("MySampleATLClass.Api");

api.Event1 = function(bstr, obj){
    console.log(bstr);
};

api.Method1();
错误详细信息:

在00000000模块中断言..\src\v8variant.cc(96) @node_win32ole::V8Variant::Cre ateOCVariant:!v->IsFunction()

TypeError:node_win32ole::V8Variant::OLESet第二个参数不是 有效(nu OCLL变量) 反对。(C:\NodeJs\1.js:5:12) 在模块处编译(Module.js:456:26) 在Object.Module.\u extensions..js(Module.js:474:10) 在Module.load(Module.js:356:32) 在Function.Module.\u加载(Module.js:312:12) 位于Function.Module.runMain(Module.js:497:10) 启动时(node.js:119:16) 在node.js:906:3