处理node.js中的多个子进程

时间:2016-11-05 14:14:11

标签: node.js

我有这个下载管理器,它将在queue[]分开的子进程中从wget下载文件。

但是,在下载完成并调用回调后,我需要处理queue[i],但我不知道它是哪个队列索引。

const EXEC_FILE = require('child_process').execFile; /** https://nodejs.org/api/child_process.html */

queue = []; /** array with download urls */

function startDownload(i){    
    var downloadProccess = EXEC_FILE(
        wget, [ queue[i] ],
        (error, stdout, stderr) => { 

            /** callback after EXEC_FILE completed or aborted */
            /** HERE! How do I get the index i? */

    });   
}

startDownload(1);
startDownload(3);
startDownload(9);

如何在流程完成后获得i值?

1 个答案:

答案 0 :(得分:1)

Javascript函数为closures。所以你已经在函数体内部有了变量i。