2014-11-06 100 views
0

我使用的是d3.js 3.4.13,文檔說d3.json(data, callback)的回調函數的格式應該是callback(error, responseData),但是我發現它實際上將數據設置爲第一個參數,而第二個參數是不必要的,所以我用callback(responseData)來代替。它的工作原理,但我很困惑,爲什麼它不像我解釋文檔描述它一樣。我錯過了什麼?d3.json回調函數

回答

1

快速瀏覽一下the source揭示了以下功能:

function d3_xhr_fixCallback(callback) { 
    return callback.length === 1 
     ? function(error, request) { callback(error == null ? request : null); } 
     : callback; 
} 

D3明確通過.length檢查的參數回調號,如果只有一個,使數據在裏面。

因此,單參數版本是一個仍然按預期工作的便利版本。

+0

快速跟進...任何想法爲什麼它將我的數據設置爲第一個參數,而不是第二個,當我使用兩個參數版本? – frajk 2014-11-06 16:49:17

+0

這不應該發生。你有一個具體的例子嗎? – 2014-11-06 17:15:35