Я пытаюсь загрузить простой CSV-файл в моем эскизе с помощью функции drop()
в p5.Я могу успешно «получить» файл и вызвать loadTable()
, однако я бы хотел сделать что-то с загруженной таблицей автоматически, и по какой-то причине мне кажется, что мне нужно полностью завершить функцию drop()
, прежде чем я получу доступтаблица.
Мой маленький тестовый эскиз "получает" файл, который перетаскивается на холст, загружает его в таблицу и пытается распечатать getRowCount()
сразу после загрузки.Это возвращает 0 .... поэтому я также настроил функцию для запуска getRowCount()
при щелчке мыши, и это работает как ожидалось.
Мой тестовый CSV-файл: https://drive.google.com/open?id=1NOluhKiqMxZy10s3dAFLsHLLjoAtV6GT
Я только частично понимаю, почему это происходит, и я точно не знаю, как это обойти.Я учу себя Javascript и p5, поэтому я не знаю терминов, которые мне нужно искать, чтобы понять, что здесь происходит ...
var myTable;
function setup() {
var canvas = createCanvas(400, 400);
canvas.drop(getFile);
}
function draw() {
background(220);
}
function getFile(file) {
myTable = loadTable(file.data);
// Do something with the table *when* I drop it...
console.log("In getFile function: " + myTable.getRowCount());
// Doesn't work either...
extra(myTable);
}
function mouseClicked() {
console.log("On mouse click " + myTable.getRowCount());
}
function extra(table_) {
console.log("In extra function: " + table_.getRowCount());
}