const router = require('koa-router')() const ArticleDao = require('../dao/ArticleDao') const ArticleEntity = require('../entity/ArticleEntity') const UserDao = require('../dao/UserDao') router.prefix('/articles') router.get('/:id', async (ctx) => { let id = ctx.params.id let result = await ArticleDao.selectByID(id) ctx.body = result }) router.post('/', async (ctx) => { console.log(ctx.request.body); article = ctx.request.body article['authorID'] = 1 result = await ArticleDao.insert(article) console.log(result); ctx.body = result }) router.get('/', async (ctx) => { let result = await ArticleDao.selectLatest(0, 20) result = JSON.parse(JSON.stringify(result)) let articles = [] let pros = [] // 存放Promise对象 result.map(item => { let authorID = item.author_id pros.push(UserDao.selectById(authorID)) }) let result2 = await Promise.all(pros) // Promise.all() 完成所有promise后返回结果集 let count = 0 result.map(item => { user = JSON.parse(JSON.stringify(result2[count]))[0] let stuff = { ...item, author: { name: user.user_name, avatar: user.avatar } } articles.push(stuff) count += 1 }) ctx.body = articles }) module.exports = router