我寫了一個函數,它產生一個進程並想將一些信息記錄到控制檯。功能如下:如何在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