OpenHarmony 入门——初识JS/ArkTS 侧的“JNI” NAPI
// 导入NAPI的API
const {
napi_create_function,
napi_get_cb_info,
napi_call_function,
napi_get_value_string_utf8,
napi_create_string_utf8,
napi_get_null,
napi_set_named_property,
napi_get_global,
napi_create_object,
} = require('node-addon-api');
// 导出函数
module.exports = {
registerHelloWorld: registerHelloWorld
};
// 注册函数
function registerHelloWorld(env, exports) {
// 创建一个新的函数
const helloWorld = napi_create_function(env, null, (env, info) => {
// 获取回调信息
let argc = 0;
let argv = null;
let thisVar = null;
napi_get_cb_info(env, info, argc, argv, thisVar, null);
// 获取参数并转为字符串
let arg = napi_get_value_string_utf8(env, argv[0], null);
// 创建一个字符串
let greeting = napi_create_string_utf8(env, `Hello, ${arg}!`);
// 返回结果
return greeting;
});
// 将函数设置为exports的属性
napi_set_named_property(env, exports, 'helloWorld', helloWorld);
}
这段代码演示了如何使用NAPI创建一个简单的函数,并将其导出,以便在JavaScript中使用。它展示了如何获取参数、调用函数和创建字符串,以及如何将其作为属性添加到全局对象中。这是学习OpenHarmony JS/ArkTS编程的一个很好的起点。
评论已关闭