egg教程系列之三:service的创建与使用

75 阅读1分钟

前边提到过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":"李四"}