我使用带有connect-mongodb-session的express-session的PassportJS来处理会话并将它们存储在MongoDB中。这是我的代码,它工作正常:
app.use(cookieParser()); // read cookies (needed for auth)
app.use(session({
store: new MongoStore({
uri: 'mongodb://myConnectionString'
}, function(error) {
if (error) {
console.log(error);
};
}),
secret: 'mySecret',
resave: true,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session());
app.use('/api/auth', userRouter);
当我没有连接到我的数据库时,我试图处理错误。因此,当我关闭数据库时,我收到错误的回调,并且可以在控制台中看到此错误。 但我的问题是我的应用程序仍然试图向/ api / auth发出请求应该收到错误的请求,但服务器只是挂起并且在会话中间件处理请求后没有得到任何路由器。
我徘徊说它应该是快速会话中的一些(req,res,next)所以当我在回调中出错时,我可以向所有请求发送错误。但我没有找到解决方案。现在,当我没有连接到我的数据库时,服务器就会挂起,给我控制台错误,而不是响应所有请求。