- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
一直在努力寻找对 next()
方法作用的良好描述。在 Express 文档中,它说 next('route')
可用于跳转到该路由并跳过其间的所有路由,但有时调用 next
时不带参数。有人知道描述 next
函数的好教程等吗?
最佳答案
没有参数的
next()
说“开玩笑,我真的不想处理这个”。它会返回并尝试找到下一条匹配的路线。
这很有用,例如,如果您想拥有某种带有 url slug 的页面管理器以及许多其他东西,但这里有一个示例。
app.get('/:pageslug', function(req, res, next){
var page = db.findPage(req.params.pageslug);
if (page) {
res.send(page.body);
} else {
next();
}
});
app.get('/other_routes', function() {
//...
});
组成的代码应该检查数据库中具有特定 id slug 的页面。如果它找到一个渲染它!如果找不到,则忽略此路由处理程序并检查其他路由处理程序。
因此,不带参数的 next()
允许假装您没有处理该路线,以便其他东西可以代替它。
或使用 app.all('*')
的命中计数器。这允许您执行一些共享设置代码,然后转到其他路线以执行更具体的操作。
app.all('*', function(req, res, next){
myHitCounter.count += 1;
next();
});
app.get('/other_routes', function() {
//...
});
关于node.js - 表达下一个函数,它到底是干什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13133071/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!