Я перешел по ссылке: область видимости переменной в d3 javascript, так как мои данные сначала не загружались в переменную. Я пробовал следующий код:
let train;
// d3.csv("training.csv", function(data){train = data;});
function myFunc(data) {
train = data;
}
d3.csv("training.csv", function (data) {
var csv = data;
myFunc(csv);
});
Тем не менее, я получаю переменную как undefined
, когда пытался зарегистрировать ее через console.info()
.
Смотрите следующее изображение:
Пожалуйста, дайте мне знать, что я могу сделать. Я что-то упустил? Пожалуйста, посоветуйте мне, что я могу сделать, чтобы избежать этой проблемы.
Но я храню данные csv в переменной train
, а ту переменную, которую я извлекаю, в другом файле, где я назначаю ее другому процессу. В этом файле я попытался записать переменную "train". даже если я помещу весь этот код в тот же файл, у меня все равно будет та же проблема.
Один и тот же файл, разные файлы не имеет значения. Вся обработка этой переменной должна происходить из обратного вызова d3.csv
. Только там он будет надежно доступен ...
Где в приведенном выше коде находится ваш
console.info
? Посколькуd3.csv
- это асинхронный, он должен быть в обратном вызовеd3.csv
или в какой-либо функции, вызываемой из него.