TL; DR Почему первый файл записан, а остальные файлы пустые?
У меня есть цикл for в Node.js, который зацикливает список массивов файловых строк.Каждая строка представляет отдельный файл в соответствующем каталоге.Массив содержит три значения, которые необходимы для создания трех отдельных файлов.После того, как первый файл создан и записан, второй и третий файлы создаются, но остаются пустыми.Ниже приведена сокращенная версия кода.Любая помощь очень ценится.
for(i in file_tree) {
fp = fs.createWriteStream(file_tree[i]);
for(i in data) {
fp.write(data[i]+'\n', function (err) { if(error) throw err;});
}
} // end for loop - file_tree
====== РЕШЕНИЕ =====
file_tree = [
pn+ '/theme/file1',
pn+ '/theme/file2',
pn+ '/theme/file3',
];
for(i in file_tree) {
file_name = file_tree[i];
fp = fs.createWriteStream(file_name);
data = [];
switch(file_name) {
case pn+ "/theme/file1":
--- snip --
break;
//
// ERROR BEGINS HERE : Notice no '/' prefix
//
case pn+ "theme/file2":
--snip--
break;
default: show(help);
}
for(i in data) {
fp.write(data[i]+'\n', function(err) { if (err) throw err; });
}
}