【发布时间】:2015-08-22 23:31:56
【问题描述】:
我正在使用 node.js 并使用 async.js 和 ftp 客户端模块。
我正在使用 async.series,这是 async.series 中的一个函数:
var client = new ftp();
client.on('ready', function () {
for ( var i = 0 ; i < stage._sub_directories.length ; i++ ) {
var path = get_absolute_path() + DIRECTORY_NAME_LESSONS + stage._name + "/" + DIRECTORY_NAME_STAGE + stage._sub_directories[i];
var file = 'copy.' + stage._sub_directories[i] + get_xml_file_name();
client.get(path + "/" + get_xml_file_name(), function (err, stream) {
console.log('done');
if (err) throw err;
stream.once('close', function () {client.end();});
stream.pipe(fs.createWriteStream(file));
callback(null, true);
});
}
});
client.connect(config);
callback(null, true); 用于异步模块。
当它运行时,它插入for 循环stage._sub_directories.length 次,然后然后 插入client.get() 一次(最后一次)。
它创建了一个文件,而不是更多。
我的问题是什么?我应该使用另一个异步控制流吗?或者是其他东西?
【问题讨论】:
标签: javascript node.js asynchronous ftp ftp-client