而Koa也并不是说你必须要升级到2.x才能够使用async函数。
在Koa1.x中推荐的是generator函数,也就意味着其内部是调用了co来帮忙做转换的。
而看过co源码的小伙伴一定知道,里边同时存在对于Promise的处理。
也就是说传入一个async函数完全是没有问题的。
但是1.x的请求上下文使用的是this,而2.x则是使用的第一个参数context。
所以在升级中这里可能是唯一需要注意的地方,在1.x不要使用箭头函数来注册中间件。
重构项目是一件很有意思的事儿,但是对于一些注释文档都很缺失的项目来说,重构则是一件痛苦的事情,因为你需要从代码中获取逻辑,而作为动态脚本语言的JavaScript,其在大型项目中的可维护性并不是很高。
所以如果条件允许,还是建议选择TypeScript之类的工具来帮助更好的进行开发。