Koa项目中使用await和async关键字报错

2022-01-24 08:50:00 浏览数 (1)

今天使用Koa搭建了一个后台接口系统,使用的mysql和Koa一些中间件

一开始关于路由是这样写的

在app.js中将router 传入路由中

代码语言:javascript复制
require('./routes')(router)

然后路由中

代码语言:javascript复制
router.get('/', Ctrl.hello)
module.exports = router.routes()

导出users-router对象

在控制器中是使用async和await 报关键字错误

查了一下一下原因,低版本的node是不支持一些ES6的用法的,但是我的版本是8.4,差不多稳定的最新版本

后来又查了一下原因,对比了网上的一个项目

发现 别人的Router引入方式不一样

遂 改成

在app.js中将路由的引入方式改为

代码语言:javascript复制
app.use(require('./routers/signin.js').routes())

这两种路由的处理方式很不一样:

第一种是将Router对象传入到路由管理器中,

第二种是将路由管理器引入到app.js中再执行routes()方法

最后 一步是 在项目启动时 加上 --harmory 这个参数是Node为了支持一些Js标准在Staged状态而设计的

Node官方解释

代码语言:javascript复制
node --harmony app.js

Ok 项目顺利启动,爽快的去用async 和 await 吧

0 人点赞