前边提到过service其实是controller的拆分,建议所有和数据库相关的操作全部放到service中
新建service文件
//app/service/home.js
'use strict';
const Service = require('egg').Service;
class HomeService extends Service {
}
module.exports = HomeService;
可以安装个插件eggjs搜出来的star最多的那个安装就行了,这些初始化的代码就不用敲了,其实我也记不住这些,主要是记住也没用,一段时间不用就忘了,记住也没啥意义,当然还是要理解代码的意义
1、在服务service中创建一个getMan方法
async getMan(){
return new Promise((resolve)=>{
setTimeout(()=>{
resolve({name:'李四'})
},2000)
})
}
2、路由中添加getMan路由
router.get('/getMan', controller.home.getMan);
3、控制器中天剑getMan方法
async getMan(){
const ctx=this.ctx
ctx.body=await ctx.service.home.getMan()
}
接下来浏览器访问 url/getMan,就可以正常输出
{"name":"李四"}