javascript - 哪些文档描述了传递给 Express app.METHOD 回调参数的内容

标签 javascript node.js express callback

我对 javascript 和 Nodejs 很菜鸟,有时无法理解回调函数。我发现最令人困惑的是查找哪些参数(或者应该称为参数?)被传递到回调函数中。

考虑以下示例

app.get('/', function (req, res) {
  res.send('GET request to homepage');
});

如果我理解正确,我可以将函数中的参数名称更改为其他名称(例如 a,b 而不是 req,res),并且它仍将分别包含请求和响应对象。

app.get('/', function (a, b) {
  b.send('GET request to homepage');
});

这是因为 app.get 方法/函数将其第二个参数定义为回调函数,以及将作为参数传递到该回调函数中的内容,对吗?

如果上述情况属实,我只是在 Express API 文档中找不到描述该方法/函数的回调函数参数中传递的内容的文档。事实上,我几乎找不到描述许多其他方法/函数传递给回调的内容的文档。我在哪里可以找到这些信息?我是否因为弄乱了一些术语而看到了错误的信息?

最佳答案

对于那些访问这个 3 年前的问题并希望得到答案的人(就像我一样), 我希望下面的回答能够启发您的心情;)

Writing error handlers
Define error-handling middleware functions in the same way as other middleware functions, except error-handling functions have four arguments instead of three: (err, req, res, next). For example:

app.use(function (err, req, res, next) {
  console.error(err.stack)
  res.status(500).send('Something broke!')
})

如果您在 Express API 中使用 TypeScript,则需要显式键入所有参数,否则编译器将隐式将参数键入 Any 并在转译过程中崩溃。

app.use((err: Error, req: Request, res: Response, next: NextFunction) => {
  console.error(err.stack)
  res.status(500).send('Something broke!')
})

关于javascript - 哪些文档描述了传递给 Express app.METHOD 回调参数的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902096/

相关文章:

javascript - jQuery 代码在 Firefox 中工作但在 Chrome 和 IE8 中失败

javascript - React Router 拦截对 Express 服务器的 API 调用

mongodb - (Node.js/Express.js) 错误 : Schema hasn't been registered for model "document"

javascript - JQuery如何在按下按钮时运行脚本

javascript - Google Apps 脚本随机字符串生成

javascript - 关于将此代码从 querySelector 扩展到 querySelectorAll 的建议

javascript - 创建了一个哈希,当使用长度函数时,它返回未定义

javascript - 如何使 Chai 自定义断言失败?

node.js - 如何使用全局/通用node_modules代替本地node_modules?

node.js - 使用 Mongoose 从 Node 的 MongoDB 中的复杂嵌入式集合中插入、更新和删除