我遇到了javascript范围的问题。
public ActionResult Schedule(String number)
{
return View(number);
}
我尝试了不同的方法(使用 var ,没有,使用 this ),但没有一种方法。 那么我该如何正确地获取在readFile函数中修改的tmpTab的内容呢?
答案 0 :(得分:2)
return tmpTab;
console.log(tmpTab);
从函数返回后无法调用代码。扭转陈述
答案 1 :(得分:2)
尝试readFileSync,它是同步的。否则最后一个控制台中的tmpTab将是[]。
如果您使用readFile,则内容仅在回调中可用。 readFileSync会“感觉”变慢,但内容在整个块中同步可用。
var tmpTab = fs.readFileSync(filename, 'utf8')
console.log(tmpTab);
修改: 当然,就像前面的答案正确包含一样,在return语句之后发生的任何语句都不会执行,所以这是你应该做的另一个更改。交换这两个语句就行了。
答案 2 :(得分:1)
返回语句后的代码将无法运行。 (一些现代浏览器会在控制台中向您发出警告。)将它放在返回之前:
console.log(tmpTab);
return tmpTab;