N-API
文章平均质量分 61
NDK(原生开发工具包)是一组工具,使开发人员能够在 OpenHarmony 应用程序中使用 C/C++ 进行编码,并提供丰富的平台库。
Hens_Hello_Mr
这个作者很懒,什么都没留下…
展开
-
N-Api&C++ array buffer数据传递预处理
【代码】N-Api&C++ array buffer数据传递预处理。原创 2023-10-31 09:39:18 · 888 阅读 · 0 评论 -
线程安全函数(thread safe function)
跨线程数据 data 引用指向的实际地址,不能随着 other 线程结束而被销毁。原创 2023-10-28 18:28:15 · 839 阅读 · 1 评论 -
scope管理N-API对象
N-API 调用时底层 VM 的堆中对象会返回 napi_value 句柄。函数代码运行时,这些句柄对象一直保持活跃;待函数结束时,才会被 GC 回收。N-API 对象的生命周期管理本质上是控制对象什么时机被销毁。主要通过添加作用域和 create reference 方式。原创 2023-10-28 18:26:13 · 318 阅读 · 0 评论 -
promise实例在C++和JS之间的传递
1、接收 从 JS 侧传来的函数参数。2、调用函数,得到返回值,一个 promise 实例。3、获取 promise 实例的 then、catch 属性方法,并使用相应的函数参数进行调用。调用 handlePromise,传入返回值是 promise 实例的函数。原创 2023-10-28 18:21:38 · 223 阅读 · 0 评论 -
C++对JS Object的操作
N-API提供一些API来创建JavaScript所有类型值。原创 2023-10-28 18:18:23 · 669 阅读 · 0 评论 -
对象包装object-wrap
..// 调用napi_create_double方法把 C++类型转换成 napi_value 类型// 返回 napi_value 类型return sum;但是对于一些复杂的数据类型(如我们常用C++的类对象),是不能直接返回一个napi_value数据的。这时我们需要对这些数据进行一系列操作后将其导出,这样JS才能使用导出后的对象。// JS侧对C++侧的类进行实例化// 调用类的实例对象上的操作方法。原创 2023-10-28 17:52:54 · 458 阅读 · 1 评论 -
LibUV介绍
应用在 native 层有个下载任务,在非 JS 线程里,进程执行期间需要将下载进度传到前端( JS 侧),并使用进度数据绘制进度条。原创 2023-10-28 17:38:44 · 121 阅读 · 0 评论 -
JS调用C++模块中的函数
此API允许从C++侧调用 JavaScript 函数对象,例如本文的napi_call_function(env, global, cb, 0 , nullptr, &result);值得注意的是,本文JS侧传递给C++的回调函数是匿名函数,C++侧先将JS回调函数先在C++侧注册,即使用napi_create_reference将JS函数创建为ref,ref最终会作为napi_call_function的第三个参数,可以放心并没有在global对象里面直接去取函数引用。例如Add方法的代码,原创 2023-10-28 17:31:02 · 1753 阅读 · 1 评论 -
error的用法
C++ 侧 napi_call_function 调用 JS 函数,JS 引擎抛错,napi_get_and_clear_last_exception 用于获取和清除异常。成功时,抛出的结果是 JavaScript Object。接下来三种途径处理异常。C++ 侧使用 napi_create_error 创建 error,napi_throw 把 error 抛给 JS,JS 侧,try、catch 捕获处理。原创 2023-10-28 17:22:20 · 209 阅读 · 0 评论 -
异步任务async work用法
【代码】async work。原创 2023-10-28 17:00:36 · 205 阅读 · 0 评论 -
napi_threadsafe_function 和 napi_async_work对比分析
从用法和官方介绍角度来看,napi_threadsafe_function 和 napi_async_work 似乎是两个完全不相同的两个东西,但从源码分析他们实现的原理,是有很大重合度。以至于使用场景亦有重合的地方。读前须知uv_async_send、uv_async_init、uv_queue_work 具体用法和作用。napi_async_work 系列 API 具体用法和作用。线程安全函数 API 具体用法和作用。原创 2023-10-28 17:02:38 · 794 阅读 · 0 评论