我写了一个函数,它产生一个进程并想将一些信息记录到控制台。功能如下:如何在node.js中产卵过程中记录信息?
function receive(count) {
var fileName = settings.flatfileName || "defaultFileName";
for (var i = 1; i <= count; i++) {
var csrFileName = fileName + i + ".json";
var curlProcess = spawn('/bin/sh', ['-c', curlCommand(csrFileName, caServerUrl)]);
curlProcess.on('close', function(code, signal) {
if (code !== 0) {
throw new Error("I'm sorry, I couldn't fetch certificate from CA. curl returned code " + code);
}
console.log("OK, I successfully fetched certificate for CSR " + csrFileName);
});
}
}
的问题是,如果我调用此函数与参数2,我得到的输出看起来像这样:
OK, I successfully fetched certificate for CSR certificateRequest2.json
OK, I successfully fetched certificate for CSR certificateRequest2.json
因为在每次循环迭代变量csrFileName变化,它似乎在console.log中调用它的值总是等于它在循环中收到的最后一个值。是否有可能得到看起来像这样的输出?
OK, I successfully fetched certificate for CSR certificateRequest1.json
OK, I successfully fetched certificate for CSR certificateRequest2.json