我正在开发一款应用,用户可以自己添加房间。
这意味着我必须将所有网址与:
匹配CREATE EXTERNAL TABLE samp_log
(
ip String ,col1 String ,col2 String , date String , time_hour int ,time_min int
,time_sec int ,zone int , request String , request_con String , resp_code int
,resp_byte BIGINT , reference String , ext_reference String , col13 String
,col14 String ,col15 String , col16 String ,col17 String
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"=" ,[,]")
STORED AS TEXTFILE
但是我需要检查房间是否存在才允许用户去那里,我用
module.exports = function(app) {
app.route('/chat/:roomName')
.get(room.list);
};
当用户点击不存在的网址/房间时,会发生重定向,但随后我的应用程序崩溃exports.room = function(req, res, next) {
Chat.find({ roomName: req.param("roomName")}, (err, chats) => {
if (chats == 0) {
res.redirect('/chat');
}
if (err) {
return next(err);
}
});
Message.find({ roomName: req.param("roomName") }, (err, messages) => {
if (err) {
return next(err);
} else {
res.render('chatroom', {title: req.param("roomName"), messages: messages});
}
});
};
我怎么能以正确的方式做到这一点?
答案 0 :(得分:0)
我首先处理错误:
exports.room = function(req, res, next) {
Chat.find({ roomName: req.param("roomName")}, (err, chats) => {
if (err) {
return next(err);
}
res.redirect('/chat');
});
Message.find({ roomName: req.param("roomName") }, (err, messages) => {
if (err) {
return next(err);
}
res.render('/chatroom', {
title: req.param("roomName"),
messages: messages
});
}
});
};