我有一個數組可以保存多個文件的URL。例如:異步讀取和緩存nodejs中的多個文件
var files = ['1.html', '2.html', '3.html'];
我需要異步讀取它們並將它們保存在名爲cache(cache = {})的對象中。 要做到這一點,我使用的代碼:
for(var i = 0; i < files.length; i++){
require('fs').readFile(files[i], 'utf8', function (error,data) {
cache[files[i]]=data;
});
}
我到底有結果:
cache = { undefined : 'File 3 content' }
我也明白,在循環後的「READFILE」行動結束,並失去它的範圍。有沒有辦法解決這個或另一種方法來讀取數組中的文件並緩存它們?
感謝,它的工作原理) – micnic 2012-03-08 13:25:40
,但我需要通過「utf-8」作爲參數傳遞給ReadFile函數,我應該怎麼做這個? – jeroen 2013-07-22 14:35:05
@jeroen:您需要創建一個通過'utf8'的幫助函數。類似於:'function read(file,callback){fs.readFile(file,'utf8',callback)}'。 *編輯*:查看編輯過的帖子! – 2013-07-23 16:12:49