d3.json回调函数

时间:2014-11-06 16:10:37

标签: javascript json d3.js callback

我正在使用d3.js 3.4.13,并且文档说d3.json(data, callback)的回调函数应该是callback(error, responseData)格式,但是,我发现它实际上设置了数据到第一个参数,第二个参数是不必要的,所以我改用callback(responseData)。它有效,但我很困惑为什么它的工作方式与解释文档描述它的方式不同。我错过了什么?

1 个答案:

答案 0 :(得分:1)

快速查看the source会发现以下功能:

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

D3通过.length显式检查回调的参数数量,如果只有一个,则将数据放入其中。

因此,单参数版本是一个便捷版本,仍可按预期工作。