我正在使用快速js和角度js,但我发现findOne方法不会结束。
对于每个请求,后端函数将在执行CURD之前先获取obj:
exports.article = function(req, res, next, id) {
Article.load(id, function(err, article) {
if (err) return next(err);
if (!article) return next(new Error('Failed to load article ' + id));
req.article = article;
next();
});
};
然后去摧毁它:
exports.destroy = function(req, res) {
var article = req.article;
article.remove(function(err) {
...
但它永远不会进入destroy范围,因为它在exports.article中保持无限运行。
加载操作实际上是这样的:
ArticleSchema.statics.load = function(id, cb) {
this.findOne({
_id: id
}).populate('user', 'name username').exec(cb);
};
当我将其修改为:
exports.team = function(req, res, next, id) {
req.team = Team.findOne({_id: id});
};
它做了同样的无休止的运行...请帮助
答案 0 :(得分:0)
我发现了下一个();函数应该在最后的执行中添加。