0

我显然在 Java Script 中遗漏了一些东西。我想在 for 循环中按顺序执行具有不同参数的相同函数(如代码的注释部分)。我改为使用回调,但我想这不是最好的方法,而且不灵活,例如,如果我有更多的路径要循环。连续执行功能最干净的方法是什么?

var data = '';
var filepath = ['path1', 'path2'];
somefunction(filepath, callback) {
    //dosth ();
    callback();
}

//filepath = ['path1', 'path2'];
//for ( var i = 0; i < filepath.length; i = i + 1 ) {
//   somefunction( filepath[i] );
//}
somefunction( filepath[0] , function() {
    console.log("Finished processing file 1");
    countFromFile( filepath[1], function() {
        console.log("Finished processing file 2");
        saveToFile( data );
    });
});     
4

1 回答 1

0

使用async使 foreach 具有异步功能。

例子:

filepath = ['path1', 'path2'];
async.each(filepath, somefunction, function(err){
    // if any of the saves produced an error, err would equal that error
});
于 2013-02-11T14:37:09.670 回答