【发布时间】:2016-09-10 19:33:25
【问题描述】:
我在pkgcloud 中使用client.upload 来上传文件目录。在所有流完成后如何执行回调?是否有内置方法来注册每个流的“完成”事件并在它们全部触发后执行回调?
var filesToUpload = fs.readdirSync("./local_path"); // will make this async
for(let file of filesToUpload) {
var writeStream = client.upload({
container: "mycontainer",
remote: file
});
// seems like I should register finish events with something
writeStream.on("finish", registerThisWithSomething);
fs.createReadStream("./local_path/" + file).pipe(writeStream);
}
【问题讨论】:
-
你可以使用 async.js 来解决这类问题。您可以使用 async.js 提供的方法作为
async.waterfall()。一个函数的结果将作为回调参数传递给另一个函数。您应该查看它的文档。
标签: node.js node-streams