【发布时间】:2020-05-06 21:26:26
【问题描述】:
我在我的 JS 应用程序中使用异步函数,并用我自己的函数来接收回调输入。当我调用回调函数时,是否需要使用“return”关键字?有关系吗?有什么区别?
例如:
var getData = function(callback){
// do some aysnc db stuff...
return callback(results);
// or just
callback(results);
}
PS:我正在使用 javascript 编写一个混合移动应用程序。
【问题讨论】:
-
那要看情况了,你想把
undefined以外的东西返回给getData吗? -
哦,这就是它所依赖的?
-
@adeneo 不,那是异步功能。他没有回到那个价值。你使用哪一个并不重要。可以使用
return提前退出函数,否则没关系。 -
@MikeC - TL;DR,它看起来是如此同步,也许 OP 应该在那里抛出一个超时以使其更清晰
-
@adeneo 是的,我猜理论上他们除了运行回调之外还可以从中返回一些东西(假设回调在实际异步的东西内部,例如
setTimeout),所以它可以双向工作。
标签: javascript angularjs asynchronous callback