猿问

nodejs如何同步回调函数的执行?

varhttp=require('http');
varfs=require('fs');
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
fs.readFile('a.txt',function(err,data){
res.write(data);
fs.readFile('b.txt',function(err,data){
res.end(data);
});
});
}).listen(1337,'127.0.0.1');
console.log('Serverrunningathttp://127.0.0.1:1337/');
http接受用户请求时会合并目录下a.txt和b.txt文件的内容进行返回,并且要保证a.txt的内容在b.txt之前,上面的代码通过嵌套回调函数可以实现这一效果。
但是这样的嵌套使得文件打开是串行的,不可能要合并多少个文件就嵌套多少层(简直疯了),嵌套不仅慢而且乱。听说有基于事件的模块可以使文件并行同步打开,然后一起返回,但是我找官方的API没找到。
鄙人才接触Nodejs,诸位轻喷。
神不在的星期二
浏览 356回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答