Node.js 异步异常如何处理?

在看《深入浅出Node.js》的时候,书上第四章,有句话:“Node在处理异常上形成了一种约定,将异常作为回调函数的第一个实参传回,如果为空值,则表明异步调用没有异常抛出。”

这句话下也有个简短的例子,本人刚学Node,感觉这句话好绕口。有没有更详细的例子?


素胚勾勒不出你
浏览 534回答 5
5回答

杨魅力

这句话指的是如下这种情况:fs.readFile('/etc/passwd', function (err, data) {       if (err) {             // 判断是否发生错误,并做相应的处理   }    else {           console.log(data); // 处理结果   } });基本上node的异步api都有这样的约定,即最后一个参数为一个回调函数,这个回调函数的第一个参数表示异步操作的过程中是否发生异常,第二个参数表示异步操作的结果。

LEATH

补充============如果需要抛出异常:function doSomething(a, callback) {       if(! a) {             return callback(new Error('params error.')); //回调传入 Error     }     var b = a++;  return callback(null, b);// 无异常}

潇潇雨雨

一大堆的function (err, xx, xx) {}来袭

翻过高山走不出你

这是有err的情况,就是回调函数的第一个参数client.on('line',function(err,data){         if(err){                     console.log(err);     }else         console.log(data) });这是回调没有抛出异常的情况client.on('data',funciton(data){         console.log(data); })这是没有回调参数的情况client.on('end',function(){ console.log('end')})

慕码人8056858

callback第一个参数为error,不是规定的规定
打开App,查看更多内容
随时随地看视频慕课网APP