d3中的作用域问题.文本功能

Issue with scope in d3.text function

本文关键字:文本 功能 问题 作用域 d3      更新时间:2023-09-26

我用d3。文本函数读取。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

如何保存函数结束后变量的值?

由于变量是在外部作用域中定义的,因此即使在函数执行之后,变量也会保留您在函数中分配的值。

您的示例打印undefined,因为当您打印变量的值时,该函数可能尚未执行(因为它是一个回调函数,并且文本文件正在异步加载)。所以它输出undefined