问题
struct empDetails {
int empId;
string name;
};
v8::Handle<v8::Value> GetEMPDetails(const v8::Arguments &args)
{
std::vector<empDetails> e1;
e1.push_back(empDetails(23, "paul"));
e1.push_back(empDetails(45, "john"));
// how can I return V8 handle so that I can use this vector in
// my javascript module
return e1;
}
here I wanna return e1 to javascript module, could someone please let me know how to do this?
回答1:
Use v8::Array
, e.g:
v8::Handle<v8::Array> result = v8::Array::New(e1.size());
for (size_t i = 0; i < e1.size(); i++)
result->Set(i, someObject);
Obviously you still need to convert your empDetails
instance to v8::Object
for each entry in the vector.
来源:https://stackoverflow.com/questions/13282526/how-to-a-return-a-vectort-from-v8-c-function