我正在使用d3.text函数来读取.txt文件。我可以使用函数内部读取的值。但是,如果我将读取的值放在函数外部声明的变量中,则该函数在函数结束后立即变为未定义。
var fileString;
d3.text("articles/0.txt", function(error, text) {
fileString = text;
console.log(fileString); //Print the correct String
});
console.log(fileString); //Print undefined
如何在函数完成后保留变量的值?
答案 0 :(得分:1)
由于变量是在外部范围内定义的,因此即使在执行函数之后,变量也会保留您在函数中分配的值。
您的示例打印 undefined ,因为当您打印变量的值时,该函数可能尚未执行(因为它是一个回调函数并且文本文件是异步加载的)。所以它打印 undefined 。