使用回调函数(在JavaScript中)与以同步方式使用回调函数相比,是否会降低性能?
例如:
method(function(result){});
代替
var result = method();
编辑:如果回调函数引入了开销,我很想知道原因。
提前感谢!
与返回相比,在同步计算中使用回调函数的开销非常小
是的,回调可以以同步的方式使用。检查CPS;或者出于API中的一致性原因
这种开销来自clling函数和维护调用堆栈的开销,而且由于您经常使用闭包作为回调,因此创建闭包也会有一些开销。
但这将是微观优化,相当于用v << 1
替换v * 2
(出于性能原因)
如果必须在代码中优化这些东西,那么在应用程序的结构中就会出现一些非常严重的问题。
同步调用回调时要提到的唯一问题是在某个时刻可能超过最大堆栈大小。