如何在不使用會話和傳遞變量的情況下爲每個用戶聲明獨立的原始變量?不使用會話的每個用戶的Node.js原始變量
我在PHP中對此沒有任何問題,因爲變量對於每個用戶都是原創的,您可以在功能之間共享它們。
<?php
$original_variable_for_each_user = "foo";
function foo() {
//it can reach variable
console.log(original_variable_for_each_user);
}
?>
但是我不能在Node.js中做到這一點,如果我想共享函數之間的變量。
情況1
var not_original_variable_for_each_user = "foo";
app.get('/', function(req, res) {
not_original_variable_for_each_user = "foo";
res.sendFile(__dirname + '/index.html');
});
function foo() {
//it can reach variable
console.log(not_original_variable_for_each_user);
}
情況2
app.get('/', function(req, res) {
var original_variable_for_each_user = "foo"
res.sendFile(__dirname + '/index.html');
});
function foo() {
//it can not reach original_variable_for_each_user
console.log(original_variable_for_each_user);
}
我會感謝你的答案。
問題是什麼是什麼呢?當你運行你的例子時會發生什麼,你期望發生什麼? – ext
情況1 - 變量聲明爲公共,所以它可以在其他函數中實現。但是,當您在node.js中將變量聲明爲public時,變量對於每個用戶而言都不是唯一的,情境2 - 變量是唯一的,但不能從其他函數訪問,因此它會引發錯誤。我期望擁有公共變量,這對PHP中的每個用戶都是唯一的。 –
一個變量*每個用戶*(而不僅僅是每個請求/連接)聽起來*就像一個會話變量。 – Bergi