我是nodejs的新手......正在做一些服务器端文件转换。
我正在使用管道从流中读取数据,转换,然后将转换后的数据写入文件。适用于小文件。但对于大型文件,它有两个问题:
我认为它与调用process.nextTick有关。我无法弄清楚如何把整个事情放在一起。
我有类似的东西:
readableFileStream.pipe(through(convert)).pipe(fileWritableStream);
function convert(buf) {
//do something to buf
this.queue(convertedBuf);
}
我想要像:
var threashold = 100000;
var cnt = 0;
function convert(buf) {
cnt++;
if (cnt > threashold && cnt % threashold == 0) {
process.nextTick(doSomething);
}
//do something to buf
this.queue(convertedBuf);
}
显然,这不起作用,nextTick不带参数。如何处理这样的情况?