gpt4 book ai didi

node.js - 表达下一个函数,它到底是干什么用的?

转载 作者:IT老高 更新时间:2023-10-28 21:47:28 25 4
gpt4 key购买 nike

一直在努力寻找对 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com