zoukankan      html  css  js  c++  java
  • 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可以处理高并发的请求!

  • 相关阅读:
    poj 2485 Highways 最小生成树
    hdu 3415 Max Sum of MaxKsubsequence
    poj 3026 Borg Maze
    poj 2823 Sliding Window 单调队列
    poj 1258 AgriNet
    hdu 1045 Fire Net (二分图匹配)
    poj 1789 Truck History MST(最小生成树)
    fafu 1181 割点
    减肥瘦身健康秘方
    人生的问题
  • 原文地址:https://www.cnblogs.com/lodadssd/p/6971223.html
Copyright © 2011-2022 走看看