首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定回调函数的参数列表

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

Stack Overflow用户
提问于 2016-02-05 16:57:57
回答 1查看 181关注 0票数 0

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

代码语言:javascript
复制
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 })

问:我们如何知道回调函数应该有两个参数:d和i。它在什么文档中指定'd‘对应于数据,'i’对应索引?

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

代码语言:javascript
复制
// 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.
  });

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-05 17:00:44

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

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

对于您的D3示例,文档

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

对于您的AngularJS示例,then是一个承诺函数,记录在这里

承诺API ..。 方法

  • then(successCallback, errorCallback, notifyCallback) --无论承诺何时被解决或将被拒绝,只要结果可用,就会异步调用其中一个成功或错误回调。回调由一个参数调用:结果或拒绝原因。此外,在承诺被解决或拒绝之前,通知回调可以被调用0次或多次以提供进度指示。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35229543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档