Как отправить объект с буфером из аддона в узел, безопасный для потоков? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь отправить объект из аддона на узел, но получаю: no matching function for call to ‘Napi::Object::New(Napi::Env&, Napi::Object&)’.

Как мне этого добиться.

Любая помощь будет оценена. Ниже приведен рассматриваемый код.

std::shared_ptr<ThreadSafeCallback> callback = NULL; // объявлен глобально

callback = std::make_shared<ThreadSafeCallback> (info[0].As<Function>());    
std::thread([callback]
{
    try
    {
          callback->call([result, data](Napi::Env env, std::vector<napi_value>& args){
          const unsigned char* t = reinterpret_cast<const unsigned char *>( "123" );
          Object obj = Object::New(env);
          obj.Set("name", "world");
          obj.Set("frame", (char *)t);
            args = { env.Undefined(), Napi::Object::New(env, obj) }; // faile here
            // would like to have {"name": test, frame: buf}
          });
    }
}).detach();

1 Ответ

0 голосов
/ 06 ноября 2019

Только что изменили Napi :: Object :: New на Napi :: Object :: Value. Это в документах, но почему-то я пропустил это.

...