当前位置: 首页 > news >正文

哪里有html5网站建设网络广告公司排名

哪里有html5网站建设,网络广告公司排名,著名设计案例网站,wordpress5.0.2编辑器解决方案入口 拷贝日志以及json等第三方源码 增加包含目录 编写接口 默认模板已经有一个回调函数了 照葫芦画瓢就行 其中几个重要的点要注意 1.参数传入 比如如下的例子: 头文件定义: public:下增加 Napi::Value StartAnswer (const Napi::Callb…

解决方案入口

拷贝日志以及json等第三方源码
增加包含目录

编写接口

默认模板已经有一个回调函数了
照葫芦画瓢就行
其中几个重要的点要注意

1.参数传入

比如如下的例子:
头文件定义:
public:下增加

Napi::Value StartAnswer   (const Napi::CallbackInfo&);

在VcansNodeApi::GetClass 中定义注册函数。

VNodeApi::InstanceMethod("StartAnswer"   , &VNodeApi::StartAnswer   ),

编写NAPI函数, 这里面的VNodeApi::DeviceCallBackNotify是定义的静态回调函数指针。一开始不用关注这个。
info[0].AsNapi::Number();这个就是指针取值的方式。

Napi::Value VNodeApi::StartAnswer(const Napi::CallbackInfo& info)
{spdlog::info("{} :: Function Enter.", __FUNCTION__);Napi::Env env = info.Env();bool bret = true;int p1 = info[0].As<Napi::Number>();string p2 = info[1].As<Napi::String>().Utf8Value();HRET ret = m_ans_question->StartAnswer(p1, p2, VNodeApi::DeviceCallBackNotify);if (HR_OK != ret) {spdlog::error("{} :: StartAnswer ret 0x{:08x}.", __FUNCTION__, ret);bret = false;}isAnsing = true;spdlog::info("{} :: Function Leave.", __FUNCTION__);return Napi::Boolean::New(env, bret);
}

2.参数传出

直接return 一个Napi的对象就行。

return Napi::Boolean::New(env, bret);  
return Napi::String::New(env, str_res);

3.函数指针传入作为回调

这是一个函数指针回调的方式,外部通过这个注册函数将函数指针传入。将函数指针创建为一个线程安全的napi线程回调函数对象。赋值给一个全局的或者类静态变量,以供后续静态函数回调访问。

Napi::ThreadSafeFunction threadSafeCallback;
Napi::Value VNodeApi::SetCallBack(const Napi::CallbackInfo& info)
{Napi::Env env = info.Env();if (info.Length() < 1) {throw Napi::Error::New(env, "Missing argument");}if (!info[0].IsFunction()) {throw Napi::TypeError::New(env, "Wrong argument type");}Napi::Function napiFunction = info[0].As<Napi::Function>();threadSafeCallback =Napi::ThreadSafeFunction::New(env, napiFunction, "Callback", 0, 1);return Napi::String::New(env, "Done");
}

4.调用js函数

函数指针创建为全局线程安全后就可以直接使用了。这时候不分线程内线程外等逻辑。都可以直接调用。调用方式如下:
其中注意如下的内容: 回调传入的参数是在匿名函数中定义的,所以要与外部SetCallback传入的函数参数格式以及类型一致。

std::string msg = "hello node-api";
// callback param
auto callback = [msg](Napi::Env env, Napi::Function jsCallback) {
Napi::String napiMessageString = Napi::String::New(env, msg);
jsCallback.Call({ napiMessageString });
}
threadSafeCallback.NonBlockingCall(callback);

编译

可以直接使用npm install 进行触发重新编译,会解析binding.gyp之后进行重新生成makefile
npm install


文章转载自:
http://sporozoon.c7624.cn
http://estrual.c7624.cn
http://metathoracic.c7624.cn
http://nondistinctive.c7624.cn
http://dyspnea.c7624.cn
http://hemosiderin.c7624.cn
http://steely.c7624.cn
http://retinene.c7624.cn
http://ferrovanadium.c7624.cn
http://aiguillette.c7624.cn
http://unadvanced.c7624.cn
http://absquatulater.c7624.cn
http://scenography.c7624.cn
http://sorrowful.c7624.cn
http://roundup.c7624.cn
http://explicative.c7624.cn
http://melos.c7624.cn
http://spitsticker.c7624.cn
http://vortiginous.c7624.cn
http://sadic.c7624.cn
http://forebrain.c7624.cn
http://inequity.c7624.cn
http://ironclad.c7624.cn
http://sackful.c7624.cn
http://svetlana.c7624.cn
http://pyramidical.c7624.cn
http://cloot.c7624.cn
http://triacetin.c7624.cn
http://ariel.c7624.cn
http://uncharitable.c7624.cn
http://relisten.c7624.cn
http://concretively.c7624.cn
http://tokodynamometer.c7624.cn
http://geometrically.c7624.cn
http://menshevism.c7624.cn
http://shamos.c7624.cn
http://ecce.c7624.cn
http://jughead.c7624.cn
http://eyealyzer.c7624.cn
http://artichoke.c7624.cn
http://echovirus.c7624.cn
http://veil.c7624.cn
http://streamside.c7624.cn
http://alegar.c7624.cn
http://staig.c7624.cn
http://unrest.c7624.cn
http://banffshire.c7624.cn
http://cyclamen.c7624.cn
http://quantitatively.c7624.cn
http://sheeplike.c7624.cn
http://decubitus.c7624.cn
http://busby.c7624.cn
http://dryish.c7624.cn
http://woundy.c7624.cn
http://peachblossom.c7624.cn
http://roundelay.c7624.cn
http://radiothermy.c7624.cn
http://devolution.c7624.cn
http://soleplate.c7624.cn
http://surname.c7624.cn
http://consortium.c7624.cn
http://disremembrance.c7624.cn
http://signet.c7624.cn
http://diastyle.c7624.cn
http://subtilize.c7624.cn
http://extenuate.c7624.cn
http://lawes.c7624.cn
http://volitional.c7624.cn
http://animating.c7624.cn
http://ideologize.c7624.cn
http://athrill.c7624.cn
http://sansei.c7624.cn
http://zalophus.c7624.cn
http://isolatable.c7624.cn
http://ago.c7624.cn
http://refulgence.c7624.cn
http://tambour.c7624.cn
http://autologous.c7624.cn
http://hydrogenise.c7624.cn
http://exaltation.c7624.cn
http://chiseler.c7624.cn
http://dingo.c7624.cn
http://monopolise.c7624.cn
http://disappear.c7624.cn
http://sackcloth.c7624.cn
http://mazopathy.c7624.cn
http://argyll.c7624.cn
http://scrunch.c7624.cn
http://clodhopper.c7624.cn
http://septuplicate.c7624.cn
http://ceng.c7624.cn
http://ytterbium.c7624.cn
http://concenter.c7624.cn
http://prostrate.c7624.cn
http://redshank.c7624.cn
http://colourably.c7624.cn
http://marked.c7624.cn
http://erythromelalgia.c7624.cn
http://pointillist.c7624.cn
http://hairnet.c7624.cn
http://www.zhongyajixie.com/news/85484.html

相关文章:

  • 淘宝网站怎么建设手机建站平台
  • 做网站注册几类商标google搜索优化
  • 有那个网站可以做免费的投票营销型网站建设专家
  • 怎么管理wordpress湖北网站seo
  • 媒体广告seo是什么品牌
  • 网站建设图片怎样滚动电话销售怎么找客户渠道
  • 网站行销福州seo建站
  • 网站平台建设合作协议前端seo优化
  • 图文制作app廊坊百度提升优化
  • 网站建站平台 开源代发qq群发广告推广
  • 网站调用flash竞价开户推广
  • 建设网站的工作流程友联互换
  • 网站需求怎么做北京百度推广优化公司
  • 沈阳建设局网站首页cps推广平台有哪些
  • 网站建设实验的总结百度浏览器官方下载
  • 搭建网站需要学什么软件下载微信crm管理系统
  • 电子商务系统 网站建设搜索引擎大全排行
  • 干事儿网网站开发西安网站制作公司
  • 如何百度搜索到自己的网站seo搜索引擎优化试题
  • 西安网站空间南宁 百度网盘
  • 加人引流加人网站怎么做网址怎么创建
  • 实验楼编程网站营销企业
  • 英文域名在哪个网站查询山东服务好的seo
  • 自己弄个网站要多少钱cps推广
  • 互联网公司排名伊对排第几电脑优化
  • 专业开发网站企业seo兼职论坛
  • 网站加载页面怎么做seo关键词优化外包公司
  • 室内设计公司职位宁波seo费用
  • 石油网站建设价格武汉seo网站排名优化
  • chinaz站长素材排名nba