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 回调函数

  • 相关阅读:
    需要做一个 Android客户端 访问 服务器数据库 的 Demo
    如何使用Device File Explorer 从计算机拷贝文件到模拟器/手机?
    Android Studio 3.0 正式版 初体验
    Android Studio 原生模拟器, DDMS data打不开,adb shell 修改权限遇到:/system/bin/sh: su: not found
    2017.9.6 实验课:安装环境遇到的问题总结
    IntelliJ IDEA
    移动终端
    关于编程~
    2018面向对象程序设计(Java)第18周学习指导及要求
    2018面向对象程序设计(Java)第17周学习指导及要求
  • 原文地址:https://www.cnblogs.com/cbza/p/7264372.html
Copyright © 2011-2022 走看看