2014-11-06 59 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