2

Google の GDownloadUrl を使用してファイルを読み込もうとしましたが、時々しか機能しません。

  • 失敗は 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");
4

2 に答える 2

4

GDownloadUrl は非同期操作です。そのため、6 行目は GDownloadUrl の終了を待たずにすぐに実行されます。

ダウンロードの完了後にのみ実行できることを実行するには、onload 関数を使用します。

于 2010-04-16T21:32:14.497 に答える
0

説明してくれてありがとう。したがって、そのようなコードは期待どおりに表現する必要があるようです。

1 var fileContent = "blah blah";
2 availabilityFile = "input/available/" + date + ".csv";
3 GDownloadUrl(availabilityFile, function(fileData) {
4     fileRows = fileData.split("\n");
5 }); 
于 2010-04-19T07:21:09.380 に答える