node.js fs批量写文件

时间:2014-08-10 21:49:44

标签: node.js fs

在node.js中,我有一个名为jobs的数组,我将文件位置和图像推送到。这种情况每13秒发生112次(每个图像/位置都是唯一的)

   jobs.push(['/home/user/public_html/img/'+filename+'.png',canvas[n].toDataURL().replace(/^data:image\/\w+;base64,/,"")]);

然后我遍历所有作业并用fs

写入文件
for(var job=0;job<jobs.length;job++){
    fs.writeFile(jobs[job][0],(new Buffer(jobs[job][1],'base64')));
    }

我的问题是;文件写入循环可以更快完成吗?

这样就可以一个接一个地写入文件。我认为最好同时完成所有这些因为这只是每13秒发生一次作为服务器工作

可以帮助多个fs实例吗?

var fs1=require('fs');
var fs2=require('fs');
var fs3=require('fs');

还是网络工作者? (我不知道节点中的这个)

1 个答案:

答案 0 :(得分:0)

  

节点使用工作池来处理“昂贵”的任务。这包括操作系统不提供非阻塞版本的I / O,以及特别占用CPU的任务。

     

以下是使用此工作池的Node模块API:

     

I / O密集型   DNS:dns.lookup(),dns.lookupService()。   文件系统:除fs.FSWatcher()和显式同步的文件系统API外,所有文件系统API均使用libuv的线程池。

©https://nodejs.org/en/docs/guides/dont-block-the-event-loop/