侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

Egg10 - Service

barwe
2022-04-21 / 0 评论 / 0 点赞 / 730 阅读 / 415 字
温馨提示:
本文最后更新于 2022-04-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

将具体的业务逻辑放在 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

评论区