大家好我试图将快速响应对象传递给我拥有的其他模块。所以在我的server.js
文件中我有这个
const room = require('../controller/rooms_controller')
app.post('/rooms', function(req, res){
var name = req.body.roomname
var loc = req.body.loc
room.newRoom(name, loc, res)
})
所以我试图将res
对象传递给rooms_controller
模块。现在我的rooms_controller模块看起来像这样
const Room = require('../models/room')
exports.newRoom = function(name, loc, res){
Room.findOne({'location': loc}, function(err, room, res){
if(err){
res.send({err: err})
}
if(room){
res.send({room: room})
}else{
var newRoom = new Room()
newRoom.location = loc
newRoom.name = name
newRoom.save(function(error){
if(err){
res.send({ error: error })
}
res.send({room: newRoom})
})
}
})
}
因此,在我的数据库中,记录已经创建,但我的终端中出现cannot read property send of undefined
错误。任何人都可以帮我这个。非常感激
答案 0 :(得分:4)
你正确地做了但是覆盖res因为你在这一行重新定义它
class Cart : NSObject {
var allProductsInCart = [MainProduct]()
override init() {
super.init()
}
class var sharedCart: Cart {
struct Static {
static let instance = Cart()
}
return Static.instance
}
}
所以res是Room.findOne({'location': loc}, function(err, room, res){
的响应,而不是Room.findOne
的参数,它是你的实际响应对象。为其中一个使用不同的变量名称。