Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

eggjs服务+请求API+日志

服务 - 作用

  • 封装一些函数,避免全部写在 控制器 里面

  • 可以写的内容有几种

    • 被多个控制器重复使用的代码函数
    • model数据库层面的取用操作函数
    • 第三方服务的调用

服务 - 书写

  • app目录内

    • 新建service服务文件夹
    • 打开后,在里面新建 user.js
      • 输egg,等待,选中回车,自动生成service内部语句块
  • 语句块内部: 新建方法函数

    async find(uid){
        const user = await this.ctx.db.query('select * from user where uid = ?', uid);
        return user;
    }
    
  • 在控制器内使用

    await this.service.user.find("123")
    
    等价于 this.ctx.service
    

服务 - 请求 API

  • 可在服务的函数内,用 curl
    const response = await this.app.curl('api地址',{
        data:{
            对象内的键值对
        },
        dataType: 'json'
    })
    
    console.log(response.data)
    

日志