仅适用于当前请求的Node.js变量?

利德恩·久库

我是Node.js的新手,我想知道,除了session()之外,我是否可以使用“存储”来存储当前请求的变量?

我有一个基于Authorization标头的API,以及存储在Redis中的有效令牌池。

因此,我没有会议,也不想。

但是我想存储变量以便在此请求期间进一步使用。例如,我想存储与Redis中找到的令牌相对应的user_id,以便我可以在任何需要的地方使用它。

如果我做类似的事情:

app = express(); app.user_id = 1;

可以,还是我的user_id对应用程序处理的所有请求都变为全局?(简而言之:应用程序是针对服务器处理的每个请求实例化的,还是持久的?)

如果这样做不行,那么我如何在没有会话的情况下实现类似的目标?

感谢您的任何帮助 :)

助剂

app句柄处理所有请求,并且仅在启动时创建一次,但是req仅在请求的生存期内存在。请记住,reqin Express只是一个对象,因此可以为其分配值。因此,如果您想允许控制器访问某些值(类似于会话),则可以执行以下操作:

var express = require('express');
var app = express();

// middleware that assigns a value '123' to 'req.user_id'
app.use(function(req, res, next) {
    req.user_id = 123;
    next();
});

// controller which responds with the 'req.user_id'
app.get('/hello', function(req, res){
  res.send('req.user_id: ' + req.user_id);  // responds with req.user_id: 123
});

app.listen(3000, function() {
    console.log('Listening on port 3000');
});

在上面的示例中,我创建的中间件为请求分配了一个值user_id此值在请求的生命周期中一直存在。您可以做类似的事情为分配动态值,req以便可以通过控制器访问它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中将mlogit与仅适用于某些替代方案的变量一起使用

来自分类Dev

正则表达式适用于浏览器,但不适用于Node.js

来自分类Dev

Node.js Express渲染不适用于EJS

来自分类Dev

req.body仅适用于表格吗?node.js

来自分类Dev

angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

来自分类Dev

适用于Node.js的MySQL库中的错误

来自分类Dev

Google Elevation呼叫适用于浏览器,但不适用于node.js

来自分类Dev

Node.js Express,错误处理仅适用于console.error

来自分类Dev

Bash导出变量,但仅适用于当前命令

来自分类Dev

为什么Modelica中的“ der()”运算符仅适用于时间变量?

来自分类Dev

用变量否定“ is”运算符仅适用于“!” 但不是'== false'

来自分类Dev

$ SHELL环境变量仅适用于交互式外壳程序吗?

来自分类Dev

适用于Web的Visual Studio 2012的Node.js

来自分类Dev

文件下载不适用于Node.js gridfs

来自分类Dev

模拟请求对象不适用于node.js中的测试

来自分类Dev

JSON网络请求不适用于Coronasdk中的变量

来自分类Dev

适用于Node.js的Oauth2

来自分类Dev

简单的typeahead.js代码仅适用于旧的typeahead 0.9.3版,不适用于以后的版本

来自分类Dev

angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

来自分类Dev

适用于Node.js的MySQL库中的错误

来自分类Dev

为什么Vue.js键修饰符仅适用于`<button>`而不适用于`<div>`?

来自分类Dev

Node.js API-适用于Postman,但不适用于Angular.js

来自分类Dev

javascript仅适用于<script>标记,不适用于js文件

来自分类Dev

Jade 语法不适用于 pug : Node Js

来自分类Dev

$lookup 不适用于 Node.js 中的 $match

来自分类Dev

POST 不适用于 Node.JS 和 Express

来自分类Dev

Navigo.js 仅适用于本地主机

来自分类Dev

sql 查询不适用于 node.js mysql 但适用于终端

来自分类Dev

如何使 onClick JS 功能仅适用于单选按钮

Related 相关文章

  1. 1

    在R中将mlogit与仅适用于某些替代方案的变量一起使用

  2. 2

    正则表达式适用于浏览器,但不适用于Node.js

  3. 3

    Node.js Express渲染不适用于EJS

  4. 4

    req.body仅适用于表格吗?node.js

  5. 5

    angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

  6. 6

    适用于Node.js的MySQL库中的错误

  7. 7

    Google Elevation呼叫适用于浏览器,但不适用于node.js

  8. 8

    Node.js Express,错误处理仅适用于console.error

  9. 9

    Bash导出变量,但仅适用于当前命令

  10. 10

    为什么Modelica中的“ der()”运算符仅适用于时间变量?

  11. 11

    用变量否定“ is”运算符仅适用于“!” 但不是'== false'

  12. 12

    $ SHELL环境变量仅适用于交互式外壳程序吗?

  13. 13

    适用于Web的Visual Studio 2012的Node.js

  14. 14

    文件下载不适用于Node.js gridfs

  15. 15

    模拟请求对象不适用于node.js中的测试

  16. 16

    JSON网络请求不适用于Coronasdk中的变量

  17. 17

    适用于Node.js的Oauth2

  18. 18

    简单的typeahead.js代码仅适用于旧的typeahead 0.9.3版,不适用于以后的版本

  19. 19

    angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

  20. 20

    适用于Node.js的MySQL库中的错误

  21. 21

    为什么Vue.js键修饰符仅适用于`<button>`而不适用于`<div>`?

  22. 22

    Node.js API-适用于Postman,但不适用于Angular.js

  23. 23

    javascript仅适用于<script>标记,不适用于js文件

  24. 24

    Jade 语法不适用于 pug : Node Js

  25. 25

    $lookup 不适用于 Node.js 中的 $match

  26. 26

    POST 不适用于 Node.JS 和 Express

  27. 27

    Navigo.js 仅适用于本地主机

  28. 28

    sql 查询不适用于 node.js mysql 但适用于终端

  29. 29

    如何使 onClick JS 功能仅适用于单选按钮

热门标签

归档