返回值异步方法

时间:2013-01-06 17:50:34

标签: javascript asynchronous return

我有一个方法,它通过异步方法在每个对象上传递一个对象调用数组:

function method(objs){
  for(obj in objs){
    obj.asyncMethod()
  }
}

我有这个想法,每个函数都应该返回一个值,但在这种情况下,该值应该基于异步方法的结果,所以这是不可能的。

不返回值(特别是在库中)这是一个不好的实践吗?

如果是,有解决方案吗?

2 个答案:

答案 0 :(得分:2)

不希望为异步操作返回值,这是不错的做法。接受回调函数作为参数。 node.js中有相当多的内置库和外部库,它们具有接受回调作为参数的方法。

答案 1 :(得分:2)

函数应该只返回一个值,如果它需要返回一个值。编写一个不返回任何内容的函数绝对没有错。

回答你的另一个问题:不,没有解决方法,因为method函数本身会在异步方法执行之前返回。

你甚至会回来什么?代码将在for循环中经历n次迭代,那么你怎么知道哪一个甚至返回?