Javascript 如何确定回调函数的参数列表

Javascript 如何确定回调函数的参数列表,javascript,angularjs,d3.js,callback,Javascript,Angularjs,D3.js,Callback,在D3.js中,有时我会将回调函数作为参数传递,例如在下面的delay()中: 问:我们如何知道回调函数应该有两个参数:d和i。在什么文件中规定“d”应与基准相对应,“i”应与索引相对应 我的问题不限于D3.js,而是js惯例。例如,在Angular.js中,我发现了类似的东西。e、 g.在下面传递给then()的回调函数中: 我如何知道(即,哪个文档指定)这个回调函数应该接受一个参数,并且这个参数对应于响应 我的问题不限于D3.js,而是js惯例 它必须由您将回调传递给的API方法记录。没有其

在D3.js中,有时我会将回调函数作为参数传递,例如在下面的delay()中:

问:我们如何知道回调函数应该有两个参数:d和i。在什么文件中规定“d”应与基准相对应,“i”应与索引相对应

我的问题不限于D3.js,而是js惯例。例如,在Angular.js中,我发现了类似的东西。e、 g.在下面传递给then()的回调函数中:

我如何知道(即,哪个文档指定)这个回调函数应该接受一个参数,并且这个参数对应于响应

我的问题不限于D3.js,而是js惯例

它必须由您将回调传递给的API方法记录。没有其他方法可以让您知道回调将使用什么参数调用,或者何时调用,预期返回什么(如果有的话),等等

对于您的D3示例:

否则,如果延迟是一个函数,则对每个选定元素(按顺序)计算该函数,并传递当前数据
d
和当前索引
i
,其中
上下文作为当前DOM元素

对于AngularJS示例,
那么
是一个承诺函数:

承诺API

方法

  • then(successCallback、errorCallback、notifyCallback)
    –无论承诺是在何时或将在何时解决或拒绝,只要结果可用,就异步调用其中一个成功或错误回调。调用回调时只需一个参数:结果或拒绝原因。此外,在承诺被解决或拒绝之前,notify回调可能被调用零次或多次以提供进度指示
我的问题不限于D3.js,而是js惯例

它必须由您将回调传递给的API方法记录。没有其他方法可以让您知道回调将使用什么参数调用,或者何时调用,预期返回什么(如果有的话),等等

对于您的D3示例:

否则,如果延迟是一个函数,则对每个选定元素(按顺序)计算该函数,并传递当前数据
d
和当前索引
i
,其中
上下文作为当前DOM元素

对于AngularJS示例,
那么
是一个承诺函数:

承诺API

方法

  • then(successCallback、errorCallback、notifyCallback)
    –无论承诺是在何时或将在何时解决或拒绝,只要结果可用,就异步调用其中一个成功或错误回调。调用回调时只需一个参数:结果或拒绝原因。此外,在承诺被解决或拒绝之前,notify回调可能被调用零次或多次以提供进度指示

我可能遇到过这些争论。那个时候我可能认为它们是描述而不是定义。@modeler:是的,看起来可能是这样。有时,人们无法充分记录他们将调用的回调:-|我可能遇到过这些争论。那个时候我可能认为它们是描述而不是定义。@modeler:是的,看起来可能是这样。有时,人们无法充分记录他们将调用的回调:-|
d3.select('body').selectAll('div')
  .data(distances)
  .enter()
  .append('div')
  .html('.')
  .style('width', '10px')
  .style('opacity', 0)
  .transition()
    .delay(function(d, i) { return i * 1000 })
// Simple GET request example:
$http({
  method: 'GET',
  url: '/someUrl'
}).then(function successCallback(response) {
    // this callback will be called asynchronously
    // when the response is available
  }, function errorCallback(response) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });