存储nodejs fs.readfile's产生一个变量并传递给全局变量
Storing nodejs fs.readfile's result in a variable and pass to global variable
我想知道是否可以将fs.readfile的内容传递到readfile方法的范围之外,并将其存储在类似于.的变量中
var a;
function b () {
var c = "from scope of b";
a = c;
}
b();
然后我可以控制台.log(a);或者将其传递给另一个变量。
我的问题:
有没有办法用fs.readFile来实现这一点,以便将内容(数据)传递给全局变量global_data。
var fs = require("fs");
var global_data;
fs.readFile("example.txt", "UTF8", function(err, data) {
if (err) { throw err };
global_data = data;
});
console.log(global_data); // undefined
您的问题不是范围问题,而是操作顺序问题。
由于readFile是异步的,所以console.log(global_data);
发生在读取之前,并且发生在执行global_data = data;
行之前。
正确的方法是:
fs.readFile("example.txt", "UTF8", function(err, data) {
if (err) { throw err };
global_data = data;
console.log(global_data);
});
在一个简单的程序(通常不是web服务器)中,您可能还想使用同步操作readFileSync,但通常最好不要停止执行。
使用readFileSync,您可以执行
var global_data = fs.readFileSync("example.txt").toString();
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 为什么window.open不打开一个以变量形式给出的链接
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 这在JavaScript中是一个好的变量名吗
- 可以't将sessionStorage设置为Javascript中的一个变量
- 如何在javascript中给变量一个随机值
- 在不同的.js文件之间传递变量;一个是在iframe内
- Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有
- 是否可以给变量一个默认值