2013-03-28 180 views
2

我有這個如何將d3.csv.parse的結果保存到全局變量?

var result; 
d3.csv("xxx.csv",function(data){ 
     csvResultParser(data); 
}); 

function csvResultParser(data){ 
    //parse the data then assign it to result 
} 

但我仍然有結果爲「不確定」,任何線索?

+0

有沒有在JavaScript控制檯中的任何錯誤,也許它無法加載文件? – 2013-03-28 10:32:19

回答

1

d3.csv()函數是異步的。因此,在讀取result變量之前,您必須等待接收數據。這就是爲什麼在處理異步數據時,最好是在d3.csv()函數內部執行所有操作,而不是使用全局變量。

+0

感謝您的回覆〜所以如果我想使用該函數以外的結果,您是否知道使用當前函數設置爲d3.csv()解決此問題的好方法? – sammiwei 2013-03-28 22:07:32

+1

你將不得不從'd3.csv()'函數中調用你想要使用的函數。如果你在外面使用'結果',就好像你要求在酒吧裏喝啤酒,然後在調酒師開始服務之前就開始喝酒了。 – 2013-03-28 22:29:28

相關問題