首页 > 解决方案 > Express PUT 端点函数不断返回 undefined

问题描述

我正在使用 Knex 和书架库来表达我的端点。我在编写 PUT 端点方面还是相当新的,而我正在尝试编写的端点总是以未定义的形式返回。我将文件分成路由和控制器。

路线是:

 app.put('/studentList/:id', (req,res)=>{
         students.editStatus(req.params.id)            
        .then((student) => { res.send(student.attributes) })

  })

控制器是:

exports.editStatus=(id)=>{
  console.log(id)
  const fieldToUpdate={status:'in'}
  new Student({id:id})
  .save(fieldToUpdate)
  .then(saved=>{
        console.log(saved)
        return saved;
  }).catch(err=>{
        console.log(err)
  })

}

我正在尝试将编辑后的学生信息发送回前端,但我不断收到 -

无法读取未定义的属性“then”

我已将控制台记录保存在 editStatus 函数中,它显示

ModelBase {
  attributes: { id: '5', status: 'in' },
  _previousAttributes: { id: '5', status: 'in' },
  changed: {},
  relations: {},
  cid: 'c2',
  id: '5',
  _knex: null }

但该价值似乎并没有脱离功能

标签: postgresqlexpressknex.jsbookshelf.js

解决方案


推荐阅读