Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用neon执行异步任务,同时将数据从NodeJ传递到rust_Node.js_Rust_Neon Bindings - Fatal编程技术网

Node.js 使用neon执行异步任务,同时将数据从NodeJ传递到rust

Node.js 使用neon执行异步任务,同时将数据从NodeJ传递到rust,node.js,rust,neon-bindings,Node.js,Rust,Neon Bindings,我想使用neon执行从NodeJ到rust的异步任务。 我想用一些数据performAsyncTask(data,(err,result)=>{})从nodejs调用一个函数,并在rust完成任务后返回一个结果 我看了一个在github上使用neon的基本异步示例: 不幸的是,我似乎不知道如何从perform方法访问数据 在背景任务中 如果我通过这种方式从nodejs传递参数 让arg0=cx。参数::(0),如何在BackgroundTask的perform方法中访问它 我感谢你的帮助 谢谢

我想使用neon执行从NodeJ到rust的异步任务。 我想用一些数据
performAsyncTask(data,(err,result)=>{})从nodejs调用一个函数,并在rust完成任务后返回一个结果

我看了一个在github上使用neon的基本异步示例:

不幸的是,我似乎不知道如何从perform方法访问数据 在背景任务中

如果我通过这种方式从nodejs传递参数
让arg0=cx。参数::(0),如何在BackgroundTask的perform方法中访问它

我感谢你的帮助


谢谢

由于这是异步执行的,因此在返回perform\u async\u task()之前,结果将不可用。在javascript中,通常会将回调传递给函数,然后在结果可用时调用该函数。Neon通过.schedule()方法为此提供了特定的快捷方式

fn计划(self,回调:句柄
fn schedule(self, callback: Handle<'_, JsFunction>)
43: let n = cx.argument::<JsNumber>(0)?.value() as usize;
44: let cb = cx.argument::<JsFunction>(1)?;
45: 
46: let task = FibonacciTask { argument: n };
47: task.schedule(cb);