美文网首页
2020-02-23

2020-02-23

作者: 凡_6944 | 来源:发表于2020-02-23 20:41 被阅读0次

    Node.js回调函数

    Node.js异步编程的直接体现就是回调

    异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。

    回调函数在完成任务后就会被调用,Node使用了大量的回调函数,Node所有API都支持回调函数

    例如,我们可以一边读取文件,一边执行其他命令,我们将文件内容作为回调函数的参数返回。这样执行代码时就没有阻塞或等待文件I/O操作。这就提高了Node.js的性能,可以处理大量的并发请求。

    回调函数一般作为函数的最后一个参数出现:

    function foo1(name,age,callback){ }
    function foo2(value,callback,callback2){ }
    

    阻塞代码实例:

    创建一个文件input.txt,内容如下:
    菜鸟教程官网地址:www.runoob.com
    创建main.js文件,代码如下:
    var fs = require("fs");
    var data = fs.readFileSync('input.txt');
    console.log(data.toString());
    console.log("程序执行结束!");
    

    非阻塞代码实例:

    创建一个文件input.txt

    ####### 创建main.js文件,代码如下:

    $ node main js
    //程序执行结束!
    

    总结:以上两个实例我们了解了阻塞与非阻塞调用的不同。第一个实例在文件读取完后才执行程序。第二个实例我们不需要等待文件读取完,这样就可以在读取文件同时执行下来的代码,大大提高了程序的性能

    因此,阻塞是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要回调函数的参数,我们就需要在回调函数内。

    相关文章

      网友评论

          本文标题:2020-02-23

          本文链接:https://www.haomeiwen.com/subject/hxbsqhtx.html