我使用client.upload在pkgcloud上传文件的目录。所有流完成后执行回调的最佳方式是什么?是否有内置的方法来注册每个流的“完成”事件并在全部触发后执行回调?等待所有流完成 - 流文件目录
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()'。一个函数的结果将作为回调参数传递给另一个函数。您应该查看它的文档。 –