Node.js 当从异步N-API加载项';调用“napièu throwèu error”时,“napièu throwèu error”做什么;s`napi\u异步\u完成\u回调`?

Node.js 当从异步N-API加载项';调用“napièu throwèu error”时,“napièu throwèu error”做什么;s`napi\u异步\u完成\u回调`?,node.js,asynchronous,node.js-addon,n-api,Node.js,Asynchronous,Node.js Addon,N Api,我最近完成了一个纯C API中所有函数的异步版本的制作,使用N-API包装,将JS/TS作为nodejs插件使用 我必须解决的最后一个问题是确保C POSIX样式的错误(即返回的整数代码)在工作程序执行结束时正确地传输到JS(使用相应的字符串,我们有一个异常枚举和一个错误消息列表) 当在napi\u async\u complete\u回调中抛出napi\u throw\u error(就像我对所有调用的同步版本所做的那样)时,这些异常从未在JS级别被捕获(我想这是因为它位于不同的异步上下文中;

我最近完成了一个纯C API中所有函数的异步版本的制作,使用N-API包装,将JS/TS作为nodejs插件使用

我必须解决的最后一个问题是确保C POSIX样式的错误(即返回的整数代码)在工作程序执行结束时正确地传输到JS(使用相应的字符串,我们有一个异常枚举和一个错误消息列表)

当在
napi\u async\u complete\u回调中抛出
napi\u throw\u error
(就像我对所有调用的同步版本所做的那样)时,这些异常从未在JS级别被捕获(我想这是因为它位于不同的异步上下文中;我看到在线用户在ajax方面有类似的问题)。相反,我选择将我的错误构造为
napi\u value
类型,并通过
napi\u reject\u deferred
返回这些错误。这似乎达到了预期的效果,在执行
try{wait My_napiwraper_XYZ()}catch(ex){…}
时被正确捕获

所以我没有什么问题要解决,但我很好奇。这些
napi\u抛出的错误
抛出的错误可能会出现。虽然我不知道在哪里。从
napi\u async\u complete\u回调
napi\u throw\u error
引发的错误应该在哪里捕捉?你能给出一个代码示例吗