【node】同步读取readFileSync和异步读取resaFile的区别

先总结:异步读取文件时是有操作系统在后台进行读取,非阻塞下面的代码执行;同步读取时会阻塞下面的代码执行

适用场景:

        同步:一般在共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错,同步就会按顺序来修改。打电话

        异步:提高效率,比如CPU都是双核,四核,异步处理可以提高工作效率。比如发短信

异步代码案例

var fs = require('fs');                //获取fs模块
console.log('start async read');        //异步读取开始
fs.readFile('test2.js',function(error,date){    //读取文件,回调函数第一个参数表示错误信息,第二个参数为读取的文本内容
    if(error){
        console.log(error);
    }else{
        console.log('end async read');    //异步读取结束
    }
});


console.log('start sync read'); //同步读取开始
var date = fs.readFileSync('log.txt','utf-8');
console.log('end sync read');    //同步读取结束

同步代码案例:

var fs = require('fs');                //获取fs模块

console.log('start sync read'); //同步读取开始
var date = fs.readFileSync('log.txt','utf-8');
console.log('end sync read');    //同步读取结束


console.log('start async read');        //异步读取开始
fs.readFile('test2.js',function(error,date){    //读取文件,回调函数第一个参数表示错误信息,第二个参数为读取的文本内容
    if(error){
        console.log(error);
    }else{
        console.log('end async read');    //异步读取结束
    }
});

猜你喜欢

转载自blog.csdn.net/m13302979400/article/details/88554408