• node.js 回调函数


    node.js通俗讲就是在后端运行的javascript,而javascript是单线程的,不能处理高并发的请求。node.js中的异步回调函数可以解决这一问题。node中使用了大量的回调函数,node所有的api都支持回调函数。这样,我们就可以一边读取文件,一边执行其他命令,执行代码时就没有阻塞,可以处理大量并发请求!

    一、阻塞代码实例

    创建一个test.txt文件,内容为:第一个node.js实例!

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

    var fs=require('fs');
    var data=fs.readFileSync('./test.txt');
    console.log('同步读取:'+data.toString());
    
    console.log('程序执行完毕');

    代码执行结果如下:

    同步读取文件只有在文件读取完成后才会执行后面的指令!

    二、非阻塞代码实例

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

    var fs=require('fs');
    fs.readFile('./test.txt',function(err,data){
        if (err){
            return console.error(err);
        }
        console.log('异步读取:'+data.toString());
    });
    console.log('程序执行完毕');

    代码执行结果如下:

    我们发现不需要等待文件读取完毕,就可以执行后面的指令。

    因此,若需要处理回调函数的参数,写在回调函数内即可。阻塞是按顺序执行的,非阻塞无须按顺序执行。

    javascript是单线程的,但node中的异步回调可以使代码非阻塞执行,因此node可以处理高并发的请求!

  • 相关阅读:
    Python 更新pip报错:Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问
    Vs code 配置(1)-win10
    博客园主题--sukura
    log4j
    安装ant问题
    freemarker string= null
    学习随想
    j2ee学习资料收集
    eclipse + marven
    好文mark
  • 原文地址:https://www.cnblogs.com/lodadssd/p/6971223.html
Copyright © 2020-2023  润新知