nodejs napi 如何手动创建一个CallbackInfo 类型的数据

问题描述

我想调用一些已有的函数,但该函数需要CallbackInfo参数,我该如何初始化一个CallbackInfo

Value b(const CallbackInfo& info)
{
  ...
}

Value a(const CallbackInfo& info)
{
  CallbackInfo newInfo = CallbackInfo::New();
  return b(newInfo);
}

解决方法

void b(const CallbackInfo& info)
{
  printf("function b\n");
}

void a(const CallbackInfo& info)
{
   auto js_this = info.This().As<Napi::Object>();

  if (js_this.Has("b") && js_this.Get("b").IsFunction())
  {
    js_this.Get("b").As<Napi::Function>().Call(info.This(),{});
  }
}