小编Kav*_*ani的帖子

如何在 v8 Javascript 中的多个函数中使用相同的上下文?

我是 V8 的新手,并试图在我的 C++ 和 JS 代码之间创建一些绑定。问题是我无法跨不同的 Javascript 函数访问全局 Javascript 变量。原因是因为每个 Javascript 函数都被称为我不同的 C++ 函数。我想我的代码的问题是我在每个 C++ 函数中创建了一个新的本地上下文。

我的 JS 代码

var test = [];

function f1()
{
    var obj = {};
    obj.name = "Testing";
    test.push(obj);
}

function f2()
{
    var value = test[0].name;
}
Run Code Online (Sandbox Code Playgroud)

我的 C++ 代码

class Test 
{

  v8::Persistent<v8::Script> compiledScript;
  v8::Local<v8::Value> result;
  v8::Isolate* isolate;
  v8::Persistent<v8::Context> context;

  Test(filePath) {

      // Create and allocate isolate

      v8::Locker isolateLocker(isolate);
      v8::Isolate::Scope isolate_scope(isolate);
      v8::HandleScope handle_scope(isolate);
      // Create some bindings

      v8::Local<v8::Context> con = …
Run Code Online (Sandbox Code Playgroud)

javascript c++ v8 embedded-v8

6
推荐指数
1
解决办法
1231
查看次数

标签 统计

c++ ×1

embedded-v8 ×1

javascript ×1

v8 ×1