【发布时间】:2014-04-24 07:17:37
【问题描述】:
我想知道是否可以使用 async.each 方法进行一系列计算并获取返回值。一个非常简单的例子是计算数组中所有元素的总和。
function Calculator() {
}
Calculator.prototype.sum = function(elements, callback) {
var total = 0;
async.each(elements, function(element, callback) {
total += element;
callback();
}, function(err) {
if (err) throw err;
//How can I get total as a returned value of sum?
});
}
谢谢
【问题讨论】:
-
对元素数组求和是一个同步操作。为什么要使用
async.each而不是普通的数组循环? -
正如我所说,这只是一个简单的例子。一个更复杂的例子应该是计算一个用户在他所有社交网络中的好友总数,你应该传递一个社交网络列表和一个用户名。每个社交网络上的每个朋友计数都将以异步方式检索,对吗?最后,我想总结所有这些朋友的数量并将其返回以供下一步操作。我可以看到另一种解决方案是使用结果作为参数传递回调,但是单元测试很难,不是吗?
-
使用 Promise 还为时不晚
标签: javascript node.js async.js