我正在使用d3.js 3.4.13,并且文档说d3.json(data, callback)
的回调函数应该是callback(error, responseData)
格式,但是,我发现它实际上设置了数据到第一个参数,第二个参数是不必要的,所以我改用callback(responseData)
。它有效,但我很困惑为什么它的工作方式与解释文档描述它的方式不同。我错过了什么?
答案 0 :(得分:1)
快速查看the source会发现以下功能:
function d3_xhr_fixCallback(callback) {
return callback.length === 1
? function(error, request) { callback(error == null ? request : null); }
: callback;
}
D3通过.length
显式检查回调的参数数量,如果只有一个,则将数据放入其中。
因此,单参数版本是一个便捷版本,仍可按预期工作。