是否所有用户请求都共享文件级别?

时间:2019-05-10 07:55:32

标签: node.js

如果我具有以下条件:

$('.otherdemoicon').click(function () {
    $('.otherdemos').toggle();
    $(".has-carousel").trigger("refresh.owl.carousel");
});

变量var express = require('express'); var router = express.Router(); let n = 0; router.get("/", (req, res) => { ... if (someCondition) n++; ... res.render("somepug"); }); function f() { //need to reference n here if (n) ... ... } 是否被所有不同的用户共享和破坏?

如果是,拥有在用户请求(而非会话)中使用的全局变量的好方法是什么?我的情况是为async个任务共享/传递数据。

2 个答案:

答案 0 :(得分:0)

var express = require('express');
var router = express.Router();

global.n = 0;

router.get("/", (req, res) => {
  ...
  if (someCondition)
  global.n++;
  ...
  res.render("somepug");
});

function f() {
   //need to reference n here
   if (global.n) ...
   ...
}

我们可以使用global

没有n,您将无法重新使用global

答案 1 :(得分:0)

是的。 Node.js在单个进程中运行。因此,在请求处理程序中更新的值n可以从其他处理程序或其他函数(如您的代码中)访问。