node.js fs在bluk中写入文件

node.js fs在bluk中写入文件,node.js,fs,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;jo

在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')));
    }
还是网络工作者??我不知道这个节点

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

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

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


©节点是异步的。您的循环甚至不等待文件被写入。我在没有回调的情况下读取fs.writeFile将导致在完成之前不会执行任何代码!?事实并非如此。看看这里,似乎有同样的问题好吧,谢谢@Mritunjay for Array.forEach和SLaks,因为它们突出了我的误解,但我的问题是如何通过一次完成所有操作来加快批量文件的编写?child_进程看起来很有趣!?fs一次只能关注一个文件似乎有点弱!
var fs1=require('fs');
var fs2=require('fs');
var fs3=require('fs');