Node.js插件编写(4)-函数工厂与对象工厂的实现

这篇文章我们通过通过nodejs插件完成   函数工厂和对象工厂的例子。

首先看下面这段node.js代码 ,我们引用的my_node_addon插件需要导出

createFunc函数 和 createObject函数,  并且 createObject函数返回的对象包含 

add和addCallback 两个加法函数

var addon = require('bindings')('my_node_addon.node');

//函数工厂
var func=addon.createFunc()(1);
console.log('Create  Function ret:' ,func);

//对象工厂
var obj = addon.createObject();
//调用对象方法
console.log(obj.add(3, 12))
//调用对象的额回调方法
obj.addCallback(1, 2, (ret) => {
    console.log(ret);
});

插件源码main.cpp如下 

#include <napi.h>

/**
 * 加法
 * @param info
 * @return
 */
Napi::Value Add(const Napi::CallbackInfo &info) {
    //获取上下文环境
    Napi::Env env = info.Env();
    //如果参数少于2
    if (info.Length() < 2) {
        //js中丢出类型异常
        Napi::TypeError::New(env, "Wrong number of argumen

猜你喜欢

转载自blog.csdn.net/yue7603835/article/details/122194654