Nodejs post方法中的第二个参数是什么

2024-03-27

在我的代码中我有这样写的代码

 router.post('/', publicShare, function(req, res, next) {

我登记入住文件 https://expressjs.com/en/guide/routing.html但没有找到为什么第二个参数publicShare在这儿?

publicShare看起来像

var publicShare = function(req, res, next) {
    if (condition1) {
        if (condition2) {
            res.status(400).send({success:false});
        } else {
            next();       
        }
    } else {
        if (condition3) {
            res.status(401).send({success:false});
        } else
            next();
    }
};

请帮助我理解。


你可以检查路线处理程序 https://expressjs.com/en/guide/routing.html#route-handlers它接受回调数组,其行为就像中间件一样。文档中的示例:

app.get('/example/d', [cb0, cb1], function (req, res, next) {

所以,就你的情况而言publicShare可以是回调数组或只是一个回调,其签名只是一个回调接受req, res, and next作为参数。所以,你也可以使用像:

app.get('/', function(req, res, next){}, function(req, res, next){}, ...

为了更简单,您可以使用回调数组:

app.get('/',[cb1, cb2, cb3])

其中 cb1、cb2 和 cb3 是带有 request、response 和 next 参数的回调。它允许您一项一项地运行。 cb1 -> 执行日志 1,然后 cb2 -> 执行日志 2,cb3 -> 执行日志 3,依此类推。

我会用一个例子来简化它:

你会要求水。

1)cb1:购买一罐水。

2) cb2: 在桶或罐子里加入几滴水。

3)cb3:煮沸。

然后,轮到你了。喝!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nodejs post方法中的第二个参数是什么 的相关文章

  • 支持 Javascript 链式关系运算符吗?

    我只是尝试了一些 JS 核心原则 发现引擎评估链式关系运算符时不会抛出错误 相反 他们以一种我自己无法理解的方式进行评估 console log 1 lt 2 lt 3 lt 4 lt 5 true expected console log
  • 向回调函数添加附加参数

    我正在 Node js 中构建一个系统 该系统应该查找文件夹数组中的所有文件 统计它们 然后使用该信息执行一些其他工作 我使用 fs readdir 从每个文件夹同步获取所有文件 我的代码如下所示 for i 0 max paths len
  • 如何解释这个正则表达式 /[\W_]/g

    我的代码是 var result2 result replace W g replace replace 该代码有效 我得到了我需要完成的工作 但我不明白正则表达式如何 W g有效 但我找不到任何我理解的文档 g这是一个全局正则表达式 因此
  • Ace Editor 获取当前选定的行号和文本

    我目前正在使用 Ace Editor 但我在文档中找不到与检索当前所选行号及其文本相关的任何内容 有任何想法吗 首先 定义 选定行 ace 中的选择可以跨多行设置 如果您的意思是 未设置选择 当前行是光标闪烁的行 var currline
  • 使用 CORS 进行 React 中的 Fetch 时出现问题

    我对 CORS 完全陌生 并且遇到以下问题 我正在使用 create react app 端口 3000 调用 spring boot 端口 8080 中创建的一些 REST 服务 我将 JWT 身份验证添加到我的 REST API 中 因
  • 有没有办法覆盖 Google 路线服务缩放值?

    我使用下面的代码来获取两点之间的路线 directionsService route request function response status if status google maps DirectionsStatus OK di
  • 如何获得日期为 yyyy-mm-dd 的年份差异?

    我想得到以 yyyy mm dd 格式给出的两个日期之间的差异 差异应该是年份 var ds 2002 09 23 var today date new Date alert today date Date prototype yyyymm
  • Angular:将数据从工厂 ajax 调用传递回我的控制器

    我一直在使用 Angular 并且已经从使用本地数据 似乎工作正常 转向尝试通过工厂中的 ajax 调用来填充我的视图 这是代码 div h2 Get data using a Factory h2 div div div
  • Vue - 如何附加组件?

    我正在尝试创建一个按钮 一旦按下该按钮 就会向我的组件添加一个子组件 我的代码可以工作 只是 HTML 被解析为字符串 这是父组件
  • AJV自定义关键字验证

    我正在使用 AJV 库来验证我的 JSON 架构 我希望能够验证Startdate成为一个字符串 如果不是字符串 则应将其转换为N A 目前 它仅转换undefined to N A 但是 在这些情况下 它不会按预期工作 null gt 空
  • Javascript 子字符串方法帮助

    长话短说 我正在开发一个 Web 应用程序并在其中使用 AJAX 我试图禁用点击时链接的默认操作 将哈希值附加到链接 然后从网址中删除 我遇到的问题是 虽然哈希值被相应地附加 但子字符串方法并没有提取 而是提取了它后面的字母 这是我的代码
  • 查找数组中是否有任何项目符合条件

    我是 JavaScript 新手 现在 我有一个包含多个对象的数组 因此 我想迭代它 如果任何对象与条件匹配 那么我想返回一个值并停止该循环 我的 obj 数组就像 var obj type numberOfQuestions techno
  • 如何通过 JavaScript 函数在 HTML5 画布上绘制多边形

    我希望用户能够单击画布上的某个位置 多边形就会出现在上面 div class rounded div
  • 带有标题的图片库,在 keystonejs 上使用 CloudinaryImage

    我正在使用 keystonejs 和 CloudinaryImages 创建图像库 type Types CloudinaryImages 我需要能够为图像添加标题 我也在读这个 https github com keystonejs ke
  • 如何在浏览器调整大小时调整div大小

    是的 所以我不使用粘性页脚 而是决定创建一个 jQuery 函数来更改 mainContent div 的大小 以便页脚可以很好地适应 基本上我想做的是 mainContent height 100 40px Where footer he
  • 如何查看远程脚本被阻止时返回的内容

    我在我的 web 应用程序中使用 Google 托管的 jQuery ajax googleapis com ajax libs jquery 1 8 3 jquery min js 作为错误诊断的一部分 我有一个 window onerr
  • 访问 Bookshelf.js 中的嵌套关​​系

    我想你可能会说我正在构建一个 reddit 风格的应用程序 所以我有一个主题 该主题有评论 这些评论有父评论等 这是我的评论模型 var Comment bookshelf Model extend tableName comments t
  • IFrame Resizer 未调整大小

    我正在这个页面上工作 http factor1hosting com dnaz wordpress certifications http factor1hosting com dnaz wordpress certifications 我
  • 从另一个窗口获取 Javascript 错误

    我创建了一些测试代码来打开一个新窗口并尝试从父窗口捕获新窗口中的 JavaScript 错误 问题是它只适用于 Firefox All of 测试 html code
  • 在dynamodb中使用batchWriteItem

    我的 dynamo 数据库中有两个表 一个是候选表 另一个是用户表我想在 dynamo 数据库中使用 batchWriteItem 以便在表中添加数据 我格式化的查询如下 var user userid usrid role candida

随机推荐