【发布时间】:2016-01-02 00:09:07
【问题描述】:
我已经与这个问题斗争了几个小时,我在 node.js 中运行的 js 代码如下。
setInterval(function () {
var exampleVar;
exec('cat /path/to/unimportant/file', function (error, stdout, stderr) { // This function returns errors, stdout and stderr
console.log(stdout); // correct value
exampleVar = stdout;
console.log(exampleVar); // correct value
}
console.log(exampleVar); // undefined
}, unimportantTime);
我认为因为该变量已经由函数 exec 创建的父范围声明,所以我可以为其分配一个值。有人可以解释我做错了什么以及访问范围外变量的正确方法吗?
【问题讨论】:
-
只是出于好奇,对一个问题投反对票是否是惯例,因为它有一个简单的答案,对于初学者来说是一个难以理解的概念?
-
我不认为这样的问题有什么问题,但一个原因可能是因为同一问题的变体每天被问多次,有些人可能会得到“哦,不,而不是再次”的反应。
-
对常见问题投反对票是惯例;/
标签: javascript node.js scope