侧边栏壁纸
博主头像
我的学习心得 博主等级

行动起来,活在当下

  • 累计撰写 223 篇文章
  • 累计创建 60 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Egg10 - Service

Administrator
2022-04-21 / 0 评论 / 0 点赞 / 865 阅读 / 0 字

将具体的业务逻辑放在 Service 中可以使 Controller 更加简洁,同时复用性也更强。

一个例子:

import { Service } from 'egg'

export default class Test extends Service {
    public async sayHi(name: string) {
        return `hi, ${name}`
    }
}

Service 也是在处理每个请求时实例化,一个 Service 对象也有ctx, app, service, configlogger这几个属性。

与 Controller 的定义一样,Service 需要放在 app/service 目录下,支持文件名到变量名的自动转换,支持嵌套。

定义 Service 类一般不需要实现构造函数,必要时使用下列构造函数:

export default class Test extends Service {
  constructor(ctx: Context) {
    super(ctx)
    // dom something
  }
}
0

评论区