nodejs同步与异步的区别

    xiaoxiao2021-03-25  107

    仅供像我这种菜鸟记忆才写,高手就路过吧。

    首先,先了解下什么叫同步,什么叫异步。同步得话就很容易理解了,就是程序自上而下运行,而异步就是不用等待上面的运行完后再运行下面的操作。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。

    下面通过nodejs的两个例子来展现同步与异步的不同之处。

    新建一个txt文件,然后随便输入几个字,保存,保存的时候记得要保存为UTF-8的编码格式。否则会出现乱码

    然后创建个js文件,内容如下

    var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()); console.log("程序执行结束");在cmd中输入node main.js运行创建的js文件,会输出如下内容:

    上面那个是同步(阻塞)代码,下面这个是异步(非阻塞)。

    再创建个main1.js文件

    var fs = require("fs"); fs.readFile('input.txt',function(err,data){ if(err) return console.error(err); console.log(data.toString()); }); console.log("非阻塞代码实例运行成功");运行如下:

    可以很明显的看出来上面阻塞代码程序是正常的同步加载,代码由上到下执行。下面这个异步(非阻塞)代码程序会先输出下面的console.log()然后才执行回掉函数里的代码。

    转载请注明原文地址: https://ju.6miu.com/read-4220.html

    最新回复(0)