• 关于node回调函数中同步和异步操作的理解


    1、node的回调函数:如果一个方法的参数是另一个函数的名字,则这个参数本身就要回调函数,这个函数就是回调函数

    1)、同步操作文件(阻塞I/O)

     

       同步就是一个人干完这个再干那个……

       所以存在排队 阻塞

      就像很多顾客,一个服务员一个个的服务顾客

     

    2)、异步操作文件(非阻塞I/O)

     

       一个人开出一条路,然后开始做这条路上的所有事情,一口气一起做,程序瞬间完成

        所有的都开始,没有排队 阻塞

       就像一个服务员服务很多、多个顾客

     

     

    2、加载file模块      

    (阻塞I/O/同步操作文件)

    首先建立好一个2.txt文件(内容随意)

    //加载fs file模块
    const fs=require('fs');
    file='2.txt';
    
    //开始读取文件
    Console.log('file start ');
    //正在读取文件
    data=fs.readFileSync(file);
    console.log(data.toString());
    //读取文件结束
    Console.log('file end! ');

    如图中显示的

    走一个再走下一个

    ( 异步操作文件/非阻塞I/O)

    程序瞬间执行完毕,然后再一次一次操作(先走file star和file end再走程序)

    //加载fs file模块
    const fs=require('fs');
    file='2.txt';
    
    //开始读取文件
    console.log('file start ');
    //正在读取文件
    //自带事件(当文件内容读取完毕时,然后再输出console.log(data.toString());)
    fs.readFile(file,function(err,data){
        console.log(data.toString());
    });
    //读取文件结束
    console.log('file end! ');

  • 相关阅读:
    单链表反转
    【华为悦读汇】技术发烧友:M-LAG
    Linux系列—策略路由、ip rule、ip route
    对象存储,为什么那么火?
    关于存储技术的最强入门科普
    OpenStack入门科普,看这一篇就够啦!
    虚拟化技术的本质
    师屎胜于熊便:FCoE iSCSI FC组网PK
    懂了!VMware/KVM/Docker原来是这么回事儿
    集群文件系统是什么
  • 原文地址:https://www.cnblogs.com/dreamtown/p/13282650.html
Copyright © 2020-2023  润新知