困难的node.js + libuv + v8错误

时间:2012-06-18 10:43:03

标签: c++ node.js v8 libuv

我正在与node.js c ++插件中的 uv_queue_work 进行一些并行工作。

一切正常,直到我尝试从Complete方法回调JS

我得到: CHECK(thread_local_top() - > TryCatchHandler()==那个)失败。

有关可能导致此问题的任何指示?

我使用以下代码进行回调:

    //Get emit method from JS object and check !IsEmpty and IsFunction
    v8::TryCatch tc;                
    emit->Call(pxy,1,argv);   // The error happens in this statement.
    if (tc.HasCaught()){
        //Some handler code
    }

1 个答案:

答案 0 :(得分:0)

好的,不确定错误发生的确切原因,但我能够通过使用node :: MakeCallback而不是emit-> Call来消除它。

真的不确定为什么会这样,有点担心因为有人讨论过弃用MakeCallback ...

编辑: 我很乐意接受能够阐明这一点的任何答案。希望MakeCallback的使用“同时节省其他人:”