我想寫一個簡單的NodeJS應用程序,讀取一個文件,逐行分析它的行並寫出結果。這裏是工作腳本不執行代碼行 - 爲什麼?
var lines;
var fs = require('fs');
var data="";
fs.readFile('list.csv', 'ascii', function(err,data){
if(err) {
console.error("Could not open file: %s", err);
process.exit(1);
}
var data2=data.split(/[\n\r]+/);
for(var i=0; i<data2.length; i++){
/*LISTING ALL THE LIST LINE-BY-LINE */
console.log(i + data2[i]);
}
});
我想知道爲什麼我應該寫內部function(err,data){..*my-code*..}
我的代碼的代碼示例?我試圖將所有變量聲明爲全局變量並寫入
console.log();
在代碼的末尾 - 它似乎只是不執行此代碼行。那麼,爲什麼我不能在function(err,data){}
之外寫我的代碼呢?
伊利亞,看這個答案:http://stackoverflow.com/questions/9362823/why-is-a-function-and-a-callback-non-blocking-in-node-js/9363071#9363071 – 2012-03-27 08:48:10