1

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

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

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

不返回值(尤其是在库中)是一种不好的做法吗?

如果是,有解决方案吗?

4

2 回答 2

2

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

于 2013-01-06T17:53:18.727 回答
2

一个函数只有在需要返回一个值时才应该返回一个值。编写一个不返回任何内容的函数绝对没有错。

要回答您的另一个问题:不,没有解决方案,因为该method函数本质上将在异步方法执行之前返回。

你甚至会返回什么?代码将在该for循环中进行 n 次迭代,那么您怎么知道要返回哪一个呢?

于 2013-01-06T18:12:17.723 回答