首页 > 解决方案 > 独立获取nodejs中的当前请求(?)

问题描述

如何在 nodejs 中获取当前请求对象?或者至少是当前的Content-Typeor methods

我看到PHP有这样的东西

$_SERVER['REQUEST_METHOD']

NodeJsavailable中有吗?类似于PHP

我尝试获取节点http模块的文档,但没有得到相同的结果。

我正在使用ExpressJS,但我想创建一个简单的函数,它可以在不从express.Request传递请求对象的情况下获取当前请求,如下面的示例代码:


const requestValid = () => ["PUT", "PATCH"].includes(// current request)

标签: javascriptnode.js

解决方案


这可能是您正在寻找的,但这不是一个好主意:

let currentRequest = null;

app.use(function(req, res, err, next) {
    currentRequest = req;       
    next();
});

这样您就可以在全局范围内获取当前请求。 不要这样做!. Nodejs 或 ExpressJs 不是为处理全局范围内的请求而设计的。

一旦您的应用程序处理并发请求,这将成为无穷无尽的错误的来源。- AKX

ExpressJS 不像 PHP。您必须像@Pasha 在他的回答中那样使用请求处理程序回调。


推荐阅读