在Node.js可写流中,有没有办法并行调用_write()?
我希望用highWaterMark在writable._write中并行执行异步函数。
我想将多个文件(超过10,000 !!)并行上传到云端 当然,10,000并行上传导致内存溢出,所以我计划如下。
"filename" Readable-stream => "upload" Writable-steream
[highWaterMark](parallel limit)
所以我测试如下。
class uploadWritable extends Writable {
constructor() {
const options = {
objectMode: true,
highWaterMark: 10
};
super(options);
}
_write(filepath, encoding, callback){
asyncUpload(filepath, callback); // When upload finished, callback is called.
}
}
我希望如此
在parapell中调用10“asyncUpload”。当“asyncUpload”中的一个完成时,新文件来自可读流并启动“asyncUpload”。
但上面的代码导致“逐个”上传。
由于我的代码,上面是否失败?
有没有办法与Node.js可写流并行执行异步函数?