私の問題を解決するにはいくつかの助けが必要です。 基本的に、私はC++アドオンからjavascript関数を "呼び出す"ために、私はそれについてgoogledして、このようなものを見つけました。ここでC++アドオンからjavascript関数を呼び出す
は私の.jsがここ
const myaddon = process.binding('myaddon');
function Foo() {
console.log("wooo");
}
myaddon.getfoo(Foo);
myaddon.callfoo(); // just to test if C++ Call js function work
ファイルである私の.cppはmyaddon.callfoo();
関数を呼び出すときに私はこのエラーを得た
Local<Function> pfOnScriptInit;
Local<Object> globel;
void test(const FunctionCallbackInfo<Value>& args)
{
pfOnScriptInit = Local<Function>::Cast(args[0]);
}
void call(const FunctionCallbackInfo<Value>& args)
{
pfOnScriptInit->Call(globel, 0, nullptr);
}
void initAll(Local<Object> target, Local<Value> unused, Local<Context> context, void* priv)
{
node::Environment* env = node::Environment::GetCurrent(context);
globel = env->context()->Global();
env->SetMethod(target, "getfoo", test);
env->SetMethod(target, "callfoo", call);
}
NODE_MODULE_CONTEXT_AWARE_BUILTIN(fivemp, node::fivemp::initAll)
です:
TypeError: Illegal Invocation