Javascript - почему иногда мне не удается прочитать содержимое файла с помощью GDownloadUrl? - PullRequest
2 голосов
/ 16 апреля 2010

Я пытаюсь прочитать какой-нибудь файл с помощью gDownloadUrl от Google, и он работает только время от времени.

  • ошибка означает fileRows == "бла-бла"
  • успех означает fileRows == (реальное содержимое файла)

Однако я заметил, что когда я прекращаю (с помощью Firebug) выполнение в строке 3 на пару секунд, это происходит чаще. Может быть, это какая-то ошибка с потоками? Ребята, у вас есть совет или идея?

1 var fileContent = "blah blah";
2 availabilityFile = "input/available/" + date + ".csv";
3 GDownloadUrl(availabilityFile, function(fileData) {
4     fileContent = fileData;
5 });
6 fileRows = fileContent.split("\n");

Ответы [ 2 ]

4 голосов
/ 17 апреля 2010

GDownloadUrl - асинхронная операция. Итак, строка 6 выполняется немедленно, не дожидаясь завершения GDownloadUrl.

Используйте функцию загрузки для выполнения действий, которые можно выполнить только после завершения загрузки.

0 голосов
/ 19 апреля 2010

Спасибо за объяснение. Так что, похоже, такой код должен произноситься как ожидалось.

1 var fileContent = "blah blah";
2 availabilityFile = "input/available/" + date + ".csv";
3 GDownloadUrl(availabilityFile, function(fileData) {
4     fileRows = fileData.split("\n");
5 }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...