2015-10-05 90 views
0

我使用Nan調查本地Node附件。將字符串設置爲v8陣列

所以我想返回到節點串用下面的代碼的數組:

NAN_METHOD(open) { 
    Local<Array> v8Array = Nan::New<Array>(); 
    std::string str = "erwer"; 
    v8Array->Set(0, Nan::New<String>(str.c_str())); 
    //v8Array->Set(0, Nan::New<Integer>(12)); 
    info.GetReturnValue().Set(v8Array); 
} 

但它不是編譯:

error: no matching function for call to ‘v8::Array::Set(int, Nan::imp::MaybeFactoryBase<v8::String>::return_t)’ v8Array->Set(0, Nan::New<String>(str.c_str()));

但添加的項作爲整數(註釋行)正常工作。 爲什麼我不能向數組添加字符串?

回答

4

所以,最後我意識到的是一個字符串的情況下,第二個參數應與ToLocalChecked()被包裹:

v8Array->Set(i, Nan::New<String>(results[i].c_str()).ToLocalChecked());