簡體   English   中英

如何將帶有緩沖區的 object 從插件發送到節點線程安全?

[英]How to send object with buffer from addon to node threadsafe?

我正在嘗試將 object 從插件發送到節點,但得到: 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();

剛剛將 Napi::Object::New 更改為 Napi::Object::Value。 它在文檔中,但不知何故我錯過了它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM