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 に答える