【发布时间】:2012-08-15 15:18:48
【问题描述】:
我正在尝试为 C++ 库编写 nodejs 绑定,但我似乎遇到了障碍。
我正在努力尝试使对 C++ 库的所有调用都异步,这就是我使用 libuv 的原因。我基本上是在关注this 教程。
我希望能够从 libuv 的uv_queue_work 调用类成员函数。看看这段代码--
class test {
private:
int data;
void Work(uv_work_t *req);
void After(uv_work_t *req);
public:
Handle<Value> Async(const Arguments& args) {
HandleScope scope;
Local<Function> callback = Local<Function>::Cast(args[0]);
int status = uv_queue_work(uv_default_loop(), **something**, Work, After);
assert(status == 0);
return Undefined();
}
};
基本上,我希望Work 和After 函数可以处理类的data 元素。然而,这似乎不起作用。我尝试将指针从void test::(*)(uv_work_t*) 类型转换为void (*)(uv_work_t*) 之后指向Work 和After。但这似乎也不起作用。
你们能给我一些关于如何解决这个问题的提示吗?
【问题讨论】:
标签: c++ node.js asynchronous casting libuv