我有这个代码:
let manager;
exports.setup = async manager => {
this.manager = manager;
};
这可能是重复的,但每次我看到这个,解决方案是使用window.manager = manager
从函数内部设置全局变量。如何在 Node 中执行此操作.JS哪里没有window
?this.manager
不起作用,因为它似乎this.manager
!==manager
(全局的(
在这种情况下,函数参数会隐藏局部变量。
考虑以下 2 个模块:
库.js
let manager = 2;
exports.setup = async manager => {
this.manager = manager;
};
主.js
var v = require("./lib.js");
v.setup(5);
console.log(v.manager);
这将打印5
manager
因为 是您传递给函数的参数。如果要获取本地manager
的值(在本例中2
(,则需要更改函数参数的名称或将其完全删除。
let manager = 2;
exports.setup = async input => {
this.manager = manager;
};
或
let manager = 2;
exports.setup = async () => {
this.manager = manager;
};