writeMain.js代码:
var http = require('http');
var writefile=require('./writefile');
http.createServer(function (request,response){
response.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
if(request.url!="/favicon.ico"){ //清楚第二次访问
//writefile.writefileSync('./file1.txt','sdfsdf');response.end('ok');//同步读取文件
function recall(data){//创建一个闭包回调函数
response.write(data);
response.end('ok');//操作完异步读取后,执行函数再关闭主程序
}
writefile.writefileAsync('./file2.txt','22222222',recall);//异步读取文件
console.log('主程序执行完毕');
}
}).listen(8001);
writefile.js代码:
var fs=require('fs');
module.exports={
writefileSync:function(path,data){//同步写入
fs.writeFileSync(path,data);
console.log('同步写入已完成');
},
writefileAsync:function(path,data,recall){//异步写入
fs.writeFile(path,data,function(err){
if(err){
throw err;
}
recall('异步闭包函数执行');
console.log('异步写入已完成');
});
}
}