如何在C/C++ 创建ArkTS的对象?

如何在C/C++ 创建ArkTS的对象

阅读 438
1 个回答

可参考如下示例:

static napi_value NativeCallArkTS(napi_env env, napi_callback_info info) { 
  // 期望从ArkTS侧获取的参数的数量,napi_value可理解为ArkTS value在native方法中的表现形式。 
  size_t argc = 1; 
  napi_value args[1] = {nullptr}; 
  // 从info中,拿到从ArkTS侧传递过来的参数,此处获取了一个ArkTS参数,即arg[0]。 
  napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); 
  napi_value instance; 
  napi_status status = napi_new_instance(env, args[0], NULL, NULL, &instance); 
  napi_value func; 
  napi_get_named_property(env, instance, "add", &func); 
  napi_value res; 
  napi_create_double(env, 10, &res); 
  napi_value result; 
  napi_call_function(env, instance, func, 1, &res, &result); 
  return result; 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进