如题:在示例代码中,TEST_FUNC函数的主要流程是什么(包括函数创建、设置、调用等)?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
如题:在示例代码中,TEST_FUNC函数的主要流程是什么(包括函数创建、设置、调用等)?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
1 回答414 阅读
375 阅读
383 阅读
286 阅读
297 阅读
266 阅读
289 阅读
1 回答840 阅读
1 回答543 阅读✓ 已解决
1 回答527 阅读✓ 已解决
1 回答479 阅读✓ 已解决
1 回答603 阅读✓ 已解决
TEST_FUNC
函数主要流程如下:isVMInit
变量),若未初始化则调用OH_JSVM_Init
进行初始化,并将isVMInit
设为true
,确保单个进程只初始化一次。创建函数:
cb
,包含NativeCreateFunctionTest
函数指针和"Hello World!"
数据。OH_JSVM_CreateFunction
创建函数,传入环境、空字符串(函数名将在设置属性时指定)、自动计算长度、回调结构体和函数对象指针,创建后检查函数是否创建成功(通过OH_JSVM_IsFunction
接口)。OH_JSVM_GetGlobal
),创建表示函数名的字符串(OH_JSVM_CreateStringUtf8
),然后使用OH_JSVM_SetProperty
将创建的函数设置到全局对象中,使JavaScript侧能够访问。调用函数:
argv
)并设置参数值(通过OH_JSVM_CreateStringUtf8
创建字符串参数),然后使用OH_JSVM_CallFunction
调用全局对象中的函数,传入环境、全局对象、函数对象、参数个数和参数数组以及结果指针,检查调用是否成功。JSVM_Value
(jsSrc
),包含调用函数的代码,使用OH_JSVM_CompileScript
编译代码,然后使用OH_JSVM_RunScript
执行脚本,实现通过脚本间接调用函数,同样检查执行结果是否成功。HandleScope
、EnvScope
、销毁Env
、关闭VMScope
、销毁VM
,释放相关资源。本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。