1
大家好,我正嘗試將一個快速響應對象傳遞給我擁有的其他模塊。所以在我的server.js
文件我有這個如何將express.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
錯誤在我的終端。任何人都可以幫助我這個。將不勝感激,
'room'是'findOne'的迴應,我不認爲回調實際上通過了第三個參數。 – robertklep
雖然我不知道這個函數是什麼,它最有可能是@robertklep描述的情況,這意味着你可以完全刪除回調函數的第三個參數。 – Froast
非常感謝。 :) – Shadid