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

Posted UsherYue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js插件编写-函数工厂与对象工厂的实现相关的知识,希望对你有一定的参考价值。

这篇文章我们通过通过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

以上是关于Node.js插件编写-函数工厂与对象工厂的实现的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Node.js插件编写-创建类原型以及类工厂

Node.js插件编写-创建类原型以及类工厂

Node.js插件编写-创建类原型以及类工厂

Node.js插件编写-创建类原型以及类工厂