koa发送postgresql查询数据时发送"Not Found"

Koa sends "Not Found" when sending postgresql query data

我正在使用 koa 构建微服务 api。此 API 仅用于用户数据。我正在从 postgresql 数据库中提取数据,没有问题。但是当我尝试公开数据时,我得到了 "Not Found".

这是端点片段,我找不到任何问题,我可能是瞎了...

router.get('/api/v1/users', (ctx) => {
  pool.connect((err, client, done) => {
    if (err) {
      ctx.response.body = { status: 500, message: 'Something went wrong' }
      console.log('Pool Connection Error: ', err)
      throw err
    }

    client.query('select * from users', (err, result) => {
      done()

      if (err) {
        ctx.response.body = { status: 500, message: 'Something went wrong' }
        console.log('Query Error: ', err)
        throw err
      }

      ctx.response.body = { status: 200, data: result.rows }
      console.log('Query Result:', result.rows)
    })
  })
})

我做了一个 oopsie.. 我应该使用这样的承诺...

router.get('/api/v1/users', async ctx => {
  async function getData() {
    return new Promise((resolve, reject) => {
      pool.connect((err, client, done) => {
        if (err) {
          reject({ status: 500, message: 'Something went wrong' })
          console.log('Pool Connection Error: ', err)
          throw err
        }

        client.query('select * from users', (err, result) => {
          done()

          if (err) {
            reject({ status: 500, message: 'Something went wrong' })
            console.log('Query Error: ', err)
            throw err
          }

          resolve({ status: 200, data: result.rows })
          console.log('Query Result:', result.rows)
        })
      })
    })
  }

  ctx.response.body = await getData()
})

嗯,至少我希望这可以帮助像我这样的其他新手