0
我使用的是d3.js 3.4.13,文檔說d3.json(data, callback)
的回調函數的格式應該是callback(error, responseData)
,但是我發現它實際上將數據設置爲第一個參數,而第二個參數是不必要的,所以我用callback(responseData)
來代替。它的工作原理,但我很困惑,爲什麼它不像我解釋文檔描述它一樣。我錯過了什麼?d3.json回調函數
我使用的是d3.js 3.4.13,文檔說d3.json(data, callback)
的回調函數的格式應該是callback(error, responseData)
,但是我發現它實際上將數據設置爲第一個參數,而第二個參數是不必要的,所以我用callback(responseData)
來代替。它的工作原理,但我很困惑,爲什麼它不像我解釋文檔描述它一樣。我錯過了什麼?d3.json回調函數
快速瀏覽一下the source揭示了以下功能:
function d3_xhr_fixCallback(callback) {
return callback.length === 1
? function(error, request) { callback(error == null ? request : null); }
: callback;
}
D3明確通過.length
檢查的參數回調號,如果只有一個,使數據在裏面。
因此,單參數版本是一個仍然按預期工作的便利版本。
快速跟進...任何想法爲什麼它將我的數據設置爲第一個參數,而不是第二個,當我使用兩個參數版本? – frajk 2014-11-06 16:49:17
這不應該發生。你有一個具體的例子嗎? – 2014-11-06 17:15:35