因此,我试图使用nodejs express FS模块迭代我的应用程序中的目录,将每个文件名存储在数组中,我可以传递给我的快速视图并遍历名单,但Im努力这样做。当我这样做files.forEach功能环路内的console.log,它打印的文件名就好了,但只要我尝试做任何事情,如:nodejs express fs迭代文件到数组或对象失败
var myfiles = [];
var fs = require('fs');
fs.readdir('./myfiles/', function (err, files) { if (err) throw err;
files.forEach(function (file) {
myfiles.push(file);
});
});
console.log(myfiles);
失败,只是记录一个空的对象。所以我不确定到底发生了什么,我认为它与回调函数有关,但如果有人能够引导我通过我做错了什么,为什么它不工作(以及如何使它工作),它会是非常感激。
+1深入挖掘并解释您应该如何使用回调。 – 2011-06-09 04:03:42
字,正是我需要的,谢谢! – thrice801 2011-06-09 05:41:49
只需使用readdir的同步版本,而不需要等待它完成:[fs.readdirSync](http://nodejs.org/docs/v0.3.1/api/fs.html#fs.readdirSync) – Automatico 2013-04-20 23:49:56