文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢

问题

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,也不能捕捉异步函数。

详情 请查看:毛毛虫的小小蜡笔