Javascript 我应该在Node.js中嵌套async.mapSeries吗?
我需要在矩阵中的单元格中循环 每个单元格都有一个与之关联的请求,我必须等待每个请求完成,然后再转到下一个单元格 我目前使用async.mapSeries循环遍历其中一列的行,如下所示Javascript 我应该在Node.js中嵌套async.mapSeries吗?,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我需要在矩阵中的单元格中循环 每个单元格都有一个与之关联的请求,我必须等待每个请求完成,然后再转到下一个单元格 我目前使用async.mapSeries循环遍历其中一列的行,如下所示 var columns = [1,2,3, ..., N]; column = columns[0]; function rowIterator(row, done){ // Do something with the column's row (i.e. cell) va
var columns = [1,2,3, ..., N];
column = columns[0];
function rowIterator(row, done){
// Do something with the column's row (i.e. cell) value
var bla = column * row
}
async.mapSeries(selectedRows, rowIterator, function (err, results){
if(err){
console.log(err);
} else {
// Do stuff
console.log('All async requests successful');
}
});
但是,假设我想执行上述操作,但要在另N列上循环
如果我使用普通的forEach样式循环,我会将一个嵌套在另一个中。使用async.mapSeries实现这一点的正确方法是什么。我应该把这些嵌套在另一个里面吗?是的,你可以嵌套这些。您可能只需要使用
async.series
,除非您确实需要作为mapSeries
调用结果的数组。从你的问题来看,似乎你实际上不需要mapSeries
,只需要series
好的,你会推荐使用异步而不是像promises(Q)这样的东西吗?是的,但我不熟悉Q。我能找到的最接近的东西是Q。但这似乎不能保证以确定的顺序执行。