从节点addon多次调用JS函数
Calling JS function multiple times from node addon
编辑:显然还不清楚,猜猜我会更简洁。
节点应用程序是构建的,使用本机插件。我需要通过Node-Addon-API从该项目传递JavaScript函数,进入我的C 插件。然后,我需要能够多次从C 调用该函数。当我发现我无法保存对JavaScript函数的引用时,由于NAPI_ENV(调用该功能所必需的)被保护不受缓存而出现问题。
。在Internet上找不到有关如何执行此操作的明确答案或示例,寻找技巧。
原始:
正如标题所描述的那样,我需要找出一种在我的插件中多次调用JS函数的方法。通用用例是我的插件执行一些长期运行的命令,并且需要定期将状态更新重新推回JavaScript。
我认为最好的方法是让用户通过一个函数(仅附加到文本块)来调用插件(以便它可以编写更新)显示。
我已经实验了以实现此功能。发现我在持久的napi_value中保存该功能的原始方法无法使用,因为您也无法保存napi_env。
我找到了这个线程,我认为这是最接近我需要的线程,但是我无法将NAN转换为NAPI_,因此它可以与我使用的内容一起使用。来自多线程C addon
的回调nodejs javascript函数也尝试通过EventEmitter传递,但类似于上述问题。
有人可以朝着正确的方向前进吗?也许可以帮助我挖掘有关如何完成此操作的一些示例?
您的问题尚不清楚。假设您在节点中使用JavaScript,请查看FFI,该FFI允许使用JavaScript加载和调用动态库。
另外,只需从命令行中执行一个函数:
/usr/bin/node yourjsfunctionfilehere.js
您也可以将命令行参数传递到称为JS函数。
相关文章:
- 使用 Node.js N-API 调用 C 函数时,不会显示预期的输出
- node.js Nan:在函数C++调用 JavaScript 回调
- 如果用户尝试从 JS 调用对象的未定义函数C++则回调C++代码
- 从 JS (V8) 中C++对象的引用调用函数
- 如何使用 cocos creator 在 Cocos2d-X/Cocos2d-JS 中调用 javascript 函数并
- 使用 Node.js 调用child_process与从 C 调用子进程并创建C++绑定以从 node.js 调用
- 从不同的节点插件方法多次调用JS函数
- 从节点addon多次调用JS函数
- 从嵌入式 v8 调用 webassembly 而不带 JS
- 从C 插件中调用QML中的JS函数
- 如何从 firefox-addon / js-ctypes 调用C++类实例
- JavaScript:从浏览器和 Node.js 中的 JavaScript 代码调用C++库
- 如何从node.js调用外部脚本/程序
- 节点.JS,C++模块:为什么当我尝试调用本地的长度方法时出现段错误<Array>?
- 如何从Node.js调用C++代码
- 在使用NAN的Node.js的C++模块中未调用SetAccessor函数
- 使用Node.js中包含char数组的结构调用C++dll
- 使用node.js从C++调用JavaScript
- 是否可以使用eclipseCDT代替vc++,以便使用SWIG调用node.js中的C++库
- 通过事件发射调用JS函数