| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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
|