最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

何时使用next()并在Node.js中返回next()

运维笔记admin12浏览0评论

何时使用next()并在Node.js中返回next()

何时使用next()并在Node.js中返回next()

场景:考虑以下是节点Web应用程序的代码部分。

app.get('/users/:id?', function(req, res, next){
    var id = req.params.id;
    if (id) {
        // do something
    } else {
        next(); //or return next();
    }
});

问题:我正在检查哪一个只用next()return next()。上面的示例代码对两者都完全相同,并且没有显示执行上的任何差异。

问题:有人可以对此有所了解,何时使用next()以及何时使用return next()和一些重要区别?

回答如下:

有些人总是写return next()是为了确保在触发回调后执行停止。

如果你不这样做,你就有可能在第二次触发回调,这通常会产生毁灭性的结果。你的代码很好,但我会把它重写为:

app.get('/users/:id?', function(req, res, next){
    var id = req.params.id;

    if(!id)
        return next();

    // do something
});

它为我节省了缩进级别,当我稍后再次阅读代码时,我确信next没有被调用两次。

发布评论

评论列表(0)

  1. 暂无评论