MEAN Stack - 在 router.param exec 函数中返回 next() 的目的是什么?
MEAN Stack - what's the purpose of returning next() inside a router.param exec function?
我正在通过很棒的在线教程学习 MEAN 堆栈。其中,使用 express 的 param().
by id 有一个 section about preloading objects
router.param('post', function(req, res, next, id) {
var query = Post.findById(id);
query.exec(function (err, post){
if (err) { return next(err); }
if (!post) { return next(new Error('can\'t find post')); }
req.post = post;
return next();
});
});
我的问题是:
在哪里可以找到关于 exec() 函数的 API 文档?它是猫鼬功能吗?如何判断它是 Mongoose 函数还是 JS 或 express 函数?
final return next()
的目的是什么? exec() 函数中有必要有 return next()
吗?如果没有那条线会发生什么?我读过 next() 用于下一个中间件,但在教程的其他函数中,如下所示,没有最终的 next()
或 return next()
。 next()
和 return next()
到底有什么区别?
router.post('/posts', function(req, res, next) {
var post = new Post(req.body);
post.save(function(err, post){
if(err){ return next(err); }
res.json(post);
});
});
谢谢。
MEAN 使用快递。
next() 告诉 express 服务器去调用下一个中间件。
http://expressjs.com/guide/using-middleware.html
顺便说一下,exec 不是 expressjs。
首先请阅读您使用的每个库的文档,如果您只阅读 mongoose 的文档,您会弄清楚什么是 exec()
!
好了,现在我们可以关注重点了
Q1: exec()
是 mongoose 函数。如果您陷入这种无法弄清楚代码中发生了什么的情况,请check this out。
当您需要有关功能(方法)、属性或...(在离线时间完美工作)的一些信息时,此网络应用程序可以为您提供帮助。
Q2:Please read this question(顺便说一句,我认为你的最后一个问题是重复的)
我正在通过很棒的在线教程学习 MEAN 堆栈。其中,使用 express 的 param().
by id 有一个 section about preloading objectsrouter.param('post', function(req, res, next, id) {
var query = Post.findById(id);
query.exec(function (err, post){
if (err) { return next(err); }
if (!post) { return next(new Error('can\'t find post')); }
req.post = post;
return next();
});
});
我的问题是:
在哪里可以找到关于 exec() 函数的 API 文档?它是猫鼬功能吗?如何判断它是 Mongoose 函数还是 JS 或 express 函数?
final
return next()
的目的是什么? exec() 函数中有必要有return next()
吗?如果没有那条线会发生什么?我读过 next() 用于下一个中间件,但在教程的其他函数中,如下所示,没有最终的next()
或return next()
。next()
和return next()
到底有什么区别?router.post('/posts', function(req, res, next) { var post = new Post(req.body); post.save(function(err, post){ if(err){ return next(err); } res.json(post); }); });
谢谢。
MEAN 使用快递。 next() 告诉 express 服务器去调用下一个中间件。 http://expressjs.com/guide/using-middleware.html
顺便说一下,exec 不是 expressjs。
首先请阅读您使用的每个库的文档,如果您只阅读 mongoose 的文档,您会弄清楚什么是 exec()
!
好了,现在我们可以关注重点了
Q1: exec()
是 mongoose 函数。如果您陷入这种无法弄清楚代码中发生了什么的情况,请check this out。
当您需要有关功能(方法)、属性或...(在离线时间完美工作)的一些信息时,此网络应用程序可以为您提供帮助。
Q2:Please read this question(顺便说一句,我认为你的最后一个问题是重复的)