zoukankan      html  css  js  c++  java
  • Node.js 回调函数 1) 阻塞 ,同步 2) 非阻塞 ,异步.

    1.阻塞. 同步.

     1) 读取的文件: input.txt

    菜鸟教程官网地址:www.runoob.com

    2) main.js

    1 var fs = require("fs");
    2 
    3 //同步读取, 阻塞代码,按顺序执行的
    4 var data = fs.readFileSync('input.txt');
    5 
    6 console.log(data);
    7 console.log(data.toString());
    8 console.log("程序执行结束!");

     执行:

    注意:

     第一:绿色方框的是 输出 data.     可见 不可以直接输出读取的文件,  要使用  data.toString()

    第二: 阻塞执行 ,是同步的, 按照顺序的.

     

     如果指定 字符集.

    1 var fs = require("fs");
    2 
    3 //同步读取, 阻塞代码,按顺序执行的
    4 var data = fs.readFileSync('input.txt', 'utf8');
    5 console.log(data);
    6 console.log(data.toString());
    7 console.log("程序执行结束!");

    执行:

    2. 非阻塞 ,异步:

    1) 要读取的文件 .   input.txt

    菜鸟教程官网地址:www.runoob.com

    2) main.js

     1 var fs = require("fs");
     2 
     3 //同步读取, 阻塞代码,按顺序执行的
     4 // var data = fs.readFileSync('input.txt');
     5 // console.log(data);
     6 // console.log(data.toString());
     7 // console.log("程序执行结束!");
     8 
     9 //异步读取, 阻塞, 不是按照顺序.
    10 fs.readFile("input.txt", function(err, data){
    11     //err:
    12     console.log("err:", err);
    13     if (err) {
    14         return console.error(err);
    15     };
    16     console.log(data);
    17 
    18     console.log(data.toString());
    19 });
    20 
    21 console.log("程序执行结束!");

    执行:

     -----------------

    如果指定 字符集.

    var fs = require("fs");
    
    //同步读取, 阻塞代码,按顺序执行的
    // var data = fs.readFileSync('input.txt');
    // console.log(data);
    // console.log(data.toString());
    // console.log("程序执行结束!");
    
    //异步读取, 阻塞, 不是按照顺序.
    // fs.readFile("input.txt", function(err, data){
    //     //err:
    //     console.log("err:", err);
    //     if (err) {
    //         console.error(err);
    //     };
    //     console.log(data);
    
    //     console.log(data.toString());
    // });
    
    // console.log("程序执行结束!");
    
    fs.readFile("input.txt","utf8", function(err, data){
        //err:
        console.log("err:", err);
        if (err) {
            return console.error(err);
        };
        console.log(data);
    
        console.log(data.toString());
    });
    
    console.log("程序执行结束!");

     

    参考链接:

      Node.js 回调函数

  • 相关阅读:
    对象形式传递
    解决DLNA方案的技术框架
    关于DLNA
    MAC配置Xcode的Cocos2d-x环境
    什么叫做双缓冲?
    Window7 Cocos2d-x配置开发环境
    Windows 8.1 Update 2更新了什么?
    微软发布Windows Phone 8.1 Update 和中文版Cortana“小娜”
    大开眼界 游览Facebook香港办公室
    小米的“假照片”危机
  • 原文地址:https://www.cnblogs.com/cbza/p/7264372.html
Copyright © 2011-2022 走看看