3

我不太了解 node.js 中回调的使用。我明白,如果你有类似的东西

result = db.execute(query);
doSomething(result);

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

现在假设我有类似的东西

result = calculate(x,y)
doSomething(result)

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

谢谢

4

1 回答 1

9

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

于 2012-09-20T16:50:05.940 回答