作为 Javascript 的新手,我很困惑哪个可能是区分异步函数计算的结果和任何异常/错误的最佳方法。如果我是对的,你不能在这种情况下使用 try-catch,因为被调用的函数在回调之前结束,而后者实际上可能会抛出异常。
好。
到目前为止,我已经看到一些库函数需要回调,例如function(err, result)
:因此,err
使用前必须进行测试result
。
我还尝试自己返回实际结果或错误对象。在这里,回调是形式的function(result)
,您必须 result instanceof Error
在使用它之前进行测试。它遵循一个例子:
function myAsyncFunction ( callBack ) {
async_library_function( "some data", function (err, result) {
if (err) { callBack ( new Error ("my function failed") ); return; }
callBack ( some calculation with result );
});
} // myFunction ()
//
// calling myFunction
//
myAsyncFunction ( function (result) {
if (result instanceof Error ) { log ("some error occurred"); return; }
log ("Alright, this is the result: " + result);
});
最好的(也许是常见的)方法是什么?
谢谢。