我一直在观看 SailsJS 教程,对于一些用户身份验证,我看到应用了该函数,但我没有得到 next();
的具体函数是什么
最佳答案
下一步的目的是继续处理请求——这使得中间件之类的东西能够工作。
这是一个例子。
假设您有一个简单的 Express.js 应用程序,如下所示:
var app = express();
app.get('/', function(req, res) {
res.send('hi!');
});
app.get('/dashboard', function(req, res) {
res.send('there!');
});
上面的应用程序有 2 条路线,每条路线都有特定的功能。
现在,如果我们想创建一个特殊的函数,在执行每个请求之前将 hello world 打印到控制台,该怎么办?为此,我们需要修改上面的两条路由,或者创建一个中间件,如下所示:
var app = express();
app.use(function(req, res, next) {
console.log('hello, world!');
next(); // continue processing
});
app.get('/', function(req, res) {
res.send('hi!');
});
app.get('/dashboard', function(req, res) {
res.send('there!');
});
现在,对于每个请求,我们上面定义的函数将在我们的任何路由代码之前被调用,一旦它调用 next()
,这意味着我们然后运行我们的路线代码。
很漂亮,对吧?
在基本层面上,next
对象只是要执行的“下一个函数”,因此当您说 next()
时,您是在告诉express 保留本质上是处理用户请求。
关于javascript - NodeJS/SailsJS 中 next() 的具体作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27024793/