nodejs中有很多异步,如果发生异常了改怎么去处理呢。
1、如果是同步则用try,catch去捕获异常。
try{
test();
}catch(err){
console.log(err);
}
//最后会打印出test is not defined
2、如果是异步的话,用回调传参去接收异常。不要试图通过try,catch去捕获异步,因为是异步,所以等try,catch结束了,才能知道错误,try,catch捕获不到,而且你在异步中抛出err还会报错,外面没有对应的trycatch去接受错误。
let callback=(result)=>{
console.log(result);
}
let myReadFile=(callback)=>{
fs.readFile("./my.txt",(err,data)=>{
if(err){
callback&&callback(err);
}else{
callback&&callback(data);
}
})
}
//这样就能通过callback拿到结果