问题
前段时间做koa服务器的接口测试的时候,koa服务器能接收到请求,但是前端一直返回的是404。数据库进行操作是可以执行成功的。
刚开始以为是操作mysql数据库语句出现的问题,但是后台一直没有报错。试了不使用操作数据库等异步操作,发现请求结果是可以正常返回的。
所以进一步推断bug应该是应该出现在async异步函数上。
解决方法
对以前编写的中间件一个个进行查看,当有使用async异步函数时,查看使用的next是不是前面都使用了await。如果不使用await,当执行到它下面的中间件的异步函数时,发生异步操作会直接执行到此中间件的next下的代码。如果next下没有进一步处理,就是返回的404。