У меня странная ситуация ...Как остановить маршрут Express.js от next()?
У меня есть веб-приложение Express.js, Node.js и Mongoose.
Один из маршрутов имеет обратный вызов мангуста, который вызывает response.send (...). Однако, поскольку после обратного вызова нет ничего другого, я подозреваю, что он автоматически переходит к следующему() маршруту.
Ex:
//getItem
app.get('/api/ItemOne', isUserValid, routes.getItem);
//getAnotherItem
app.get('/api/getAnotherItem', isUserValid, routes.getAnotherItem);
//Routes
exports.getItem = function (req, res) {
//console.log ('In getItem');
getItem .findOne({ some_id : some_id}, function(err, getItem){
//console.log ('In getItem callback');
res.send({
itemName : getItem .itemName,
itemValue : getItem .itemValue;
});
})
});
exports.getAnotherItem = function (req, res) {
//console.log ('In getAnotherItem');
getAnotherItem.findOne({ some_id : some_id}, function(err, getAnotherItemRet){
//console.log ('In getAnotherItem Callback');
res.send({
itemName : getAnotherItemRet.itemName,
itemValue : getAnotherItemRet.itemValue;
});
})
});
я получаю следующую последовательность сообщений на консоли ...
In getItem
In getAnotherItem
In getItem callback
In getAnotherItem callback
Я предполагаю, потому что маршрут не заканчивается, он вызывает следующий() автоматически.
В: Как предотвратить автоматический вызов второго маршрута.
Спасибо, Illniyar. Хороший улов ... Я на самом деле вызывал оба URL одновременно. Я переделал код и начал видеть эту проблему. Следовательно, предполагалось, что это проблема с маршрутами. –