鸿蒙HarmonyOS应用开发之使用扩展的Node-API接口在异步线程中运行和停止事件循环_鸿蒙系统运行node服务器

avatar
作者
猴君
阅读量:2

napi_value theFunc = nullptr;
if (napi_get_named_property(env, promise, “then”, &theFunc) != napi_ok) {
return nullptr;
}

napi_value resolvedCallback = nullptr;
napi_value rejectedCallback = nullptr;
napi_create_function(env, “resolvedCallback”, NAPI_AUTO_LENGTH, ResolvedCallback, nullptr, &resolvedCallback);
napi_create_function(env, “rejectedCallback”, NAPI_AUTO_LENGTH, RejectedCallback, nullptr, &rejectedCallback);
napi_value argv[2] = {resolvedCallback, rejectedCallback};
napi_call_function(env, promise, theFunc, 2, argv, nullptr);

auto flag = reinterpret_cast<bool *>(arg);
if (*flag == true) {
napi_run_event_loop(env, napi_event_mode_default);
} else {
// 非阻塞式的处理任务,有可能队列中还没有任务就已经返回了
napi_run_event_loop(env, napi_event_mode_nowait);
}
return nullptr;
}

static napi_value RunEventLoo

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!