我試圖將名稱與來自特定目錄的所有文件的路徑一起散列。散列之後,我將散列保存到數組(hash_orig)中。這是我所做的。無法訪問函數外部的數組元素
var fs = require('fs');
var Hashes = require('jshashes');
var path = process.argv[2];
var path_elements = new Array();
var hash_orig = new Array();
fs.readdir(path, function(err, items) {
console.log('\nNumber of files in the directory: '+items.length);
console.log('Hashing algorithm: SHA1')
for (var i=0; i<items.length; i++) {
path_elements.push(path+"/"+items[i])
var SHA1 = new Hashes.SHA1().b64(path_elements[i])
console.log([i+1]+':\t'+items[i]+"\t" + SHA1)
hash_orig.push(SHA1);
}
});
console.log(hash_orig)
問題:
的問題是,當我推散入hash_orig
陣列,並試圖訪問它的功能fs.readdir
數組hash_orig
外面是空的。 (console.log(hash_orig)
)
我需要在外部訪問它以執行進一步的比較操作,以確定散列是否已更改爲驗證文件名和路徑的完整性。 我做錯了什麼? 謝謝。
或者使用'readdirSync' – brandonscript