我经常发现自己编写函数来处理一系列项目:
例如:
function getThings(callback){
thingsLeftToCheck = things.length;
things.forEach(function(thing){
thing.refresh(function(){
thingsLeftToCheck--;
if ( ! thingsLeftToCheck ) {
callback();
}
});
})
}
我经常将Caolan's async library用于其他工作流程样式任务,但我似乎无法找到与此工作流程相对应的内容。例如,async.parallel是关于并行运行许多不同的函数,而我想要的是使用不同的参数运行相同的函数:
async是否提供类似的内容?
答案 0 :(得分:0)
实际上看起来async.each就是这样。快速演示(使用超时)
var items = ['one','two']
var results = []
var doStuff = function(item, callback){
setTimeout(function(){
results.push('result'+item)
callback(null)
})
}
将返回:
[ 'resultone', 'resulttwo' ]