我正在编写一个由 50% 纯 JavaScript 类和 50% 纯 C++ 类组成的 node.js (0.12) 库。C++ 类中的某些函数需要返回 JavaScript 类的实例。我想我需要将 JavaScript 类的构造函数存储在Persistent<Function>
s 中。假设我可以将构造函数作为参数,我该如何存储它们以备后NewInstance()
用。
JS
function MyType()
{
this.a = 0;
};
native.store (MyType)
C++
void Wrapper::store (const FunctionCallbackInfo<Value>& args)
{
// Need to store args[0] as MyTypeConstructor for later
}
void Wrapper::use (const FunctionCallbackInfo<Value>& args)
{
Isolate* isolate = Isolate::GetCurrent();
HandleScope scope (isolate);
auto ctor = Local<Function>::New
(isolate, MyTypeConstructor);
ctor->NewInstance();
}