然后通过napi_create_threadsafe_function创建线程安全函数,并在CallJs回调函数中定义ArkTS线程接收到任务后的处理逻辑(如调用传入的JavaScript回调函数并传递参数)。接着创建异步工作对象(napi_create_async_work),并在ExecuteWork函数中使用napi_call_threadsafe_func
`napi_call_threadsafe_function_with_priority` 接口的参数含义如下: 1. **func**:这是一个指向 `napi_threadsafe_function` 类型的指针,它代表了一个线程安全的函数,用于在非主线程中安全地调用 JavaScript 函数。 2. **data**:这是一个指向要传递给 JavaScript 函数的数据的指针。这个数据将作为调用 JavaScri...
use-call-threadsafe-function-with-priority.md use-napi-about-array.md use-napi-about-class.md use-napi-about-cleanuphook.md use-napi-about-custom-asynchronous-operations.md use-napi-about-error.md use-napi-about-promise.md use-napi-about-property.md use-napi-asynchronous-task.md ...
friend class NativeEngine; Callback fn_; void* arg_; uint64_t insertion_order_counter_; }; using PostTask = std::function<void(bool needSync)>; using CleanEnv = std::function<void()>; using InitWorkerFunc = std::function<void(NativeEngine* engine)>; ...
如题:在Node - API中使用napi_call_threadsafe_function_with_priority接口从异步线程向ArkTS线程投递任务的主要目的是什么?
napi_create_threadsafe_function(env, nullptr, nullptr, resourceName, 0, 1, nullptr, nullptr, nullptr, ThreadSafeCallback, &defaultFunc_); } void NativeEngine::DestoryDefaultFunction(void) { std::unique_lock<std::shared_mutex> writeLock(eventMutex_); ...