什么时候使用回调?

时间:2012-09-20 16:39:39

标签: node.js

我不太明白node.js中回调的使用。我明白,如果你有像

这样的东西
result = db.execute(query);
doSomething(result);

你应该把doSomething作为回调,因为doSomething会在结果准备好之前执行。这是有道理的,因为db操作可能很昂贵。

现在让我说我有类似

的东西
result = calculate(x,y)
doSomething(result)

哪里计算不贵(即没有从数据库或I / O读取),我还应该使用回调吗?如何在下一行执行之前或之后判断我的函数是否完成?

由于

1 个答案:

答案 0 :(得分:9)

简而言之,如果函数调用异步函数(例如调用I / O操作或数据库调用),则函数需要接受回调参数,以便可以将这些调用的结果提供给函数的调用者。如果您的函数只是进行同步调用,那么您的函数也是同步的,并且您不需要回调参数(如第二个示例所示)。