Web“交互式数据可视化”中的回调函数变量顺序

时间:2018-07-06 19:51:58

标签: javascript d3.js visualization data-visualization

在Scott Murray的“ Web交互式数据可视化”的第5章中,他写道:“在提到回调函数时,请注意,错误必须是第一个参数,数据是第二个参数。

为什么会这样?

1 个答案:

答案 0 :(得分:-1)

我不知道Murray在说什么回调函数。但这是许多异步函数中使用的约定。

让我们解决这个问题。假设您正在调用其他人提供的函数fn。可能来自代码的另一部分,来自npm模块的构造函数。如果您尝试呼叫fn(b, a)而不是fn(a, b),那将是非常错误的。例如,如果fn = function(x, y) { return x - y; },则fn(2, 5)将返回-3,而fn(5, 2)将返回3

相反,您的问题与上述情况完全相同:您正在定义一个函数,而其他人正在调用它。异步函数的提供程序已承诺以错误和数据作为参数调用您的回调,按顺序。因此,如果您将第一个参数视为错误,将第二个参数视为数据,它将起作用。

没有什么可以阻止人们创建异步函数的,这些异步函数以数据作为第一个参数,错误作为第二个参数来调用其回调。但是我不知道有谁这样做,所以如果有人这样做,只会造成混乱和毫无意义。