关于koa-router新版本写法问题
来源:7-3 第七天 兼容PC注册登录和首页(下)
vincents
2017-12-04
拿到老师给的代码,在本地可以愉快的跑起来,可是用到的koa-router是4.0.0版本的,写法是:
exports.index = function *(next) {
var categories = yield Movie.findAll()
yield this.render('pages/index', {
title: '微信电影课程首页-[imooc]',
categories: categories
})
}
当koa-rouer更新到7.11.1版本时,官方给的写法也不一样。我尝试的修改下,结果跑不起来,官方实例:
router.get('/', function (ctx, next) {
ctx.body = 'Hello World!';
})
Movie.findAll方法是老师给的新版本写法:
exports.findAll = async (ctx, next) => await Category
.find({})
.populate({
path: 'movies',
select: 'title poster',
options: { limit: 6 }
})
.exec()
完全不懂得怎么修改路由写法,老师可以在自己的项目里面,把koa-router升级到7.11.1,然后再修改下,求思路啊,yeild替换成await完全不管用,还会报错,老师有空帮忙解决下哈~
1回答
-
Scott
2017-12-08
7.11.1 的 router 需要 koa 也升级到 koa2 才能跑起来。
exports.index = function *(next) { var categories = yield Movie.findAll() yield this.render('pages/index', { title: '微信电影课程首页-[imooc]', categories: categories }) }
改成
exports.index = async (ctx, next) => { var categories = await Movie.findAll() await ctx.render('pages/index', { title: '微信电影课程首页-[imooc]', categories: categories }) }
试试看
00
相似问题