文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢
问题
koa是怎么解决异样的?
剖析
首先理解下node.js是怎么解决异样的
一般来说,node.js顶层有个uncaughtException事件,当异样没被捕捉的时候,就会一层层回升,直到触发定义好的uncaughtException事件。
但有个问题,node.js最大的特点是异步机制。比方读取文件信息的stat的异步写法:
require('fs').stat('test.txt', function(err, res) { if (err) { throw err; }})
如果读取文件信息过程中出错了,比方文件不存在。那就会执行throw err。
就算用了try catch,也不能捕捉异步函数。
详情 请查看:毛毛虫的小小蜡笔