zoukankan      html  css  js  c++  java
  • node.js中events模块应用

    将readFile封装成一个方法(解决异步问题)

    原因:因为node.js是非阻塞I/O,所以是异步的,读文件是I/O请求,所以会被抛出,等所有的非I/O请求都完成后才会进行

    有异步问题的代码:

    var fs = require("fs");
    function fnReadFile(file){
        fs.readFile(file, function(err, data){
            return data;
        });
    }
    console.log(fnReadFile("hei.txt"));//输出undefined 原因fs.readFile方法是异步的

    解决 方法一:回调函数

    var fs = require("fs");
    function fnReadFile(file, callback){
        fs.readFile(file, function(err, data){
            callback(data.toString());
        });
    }
    fnReadFile("hei.txt", function(res){
        console.log("读取的数据是:" + res);
    });

    方法二:events模块 监听on 广播emit

    var events = require("events");
    var fs = require("fs");
    var myEvent = new events();
    myEvent.on("showData", function(str){
            console.log("读取的数据是:" + str);
    });
    function fnReadFile(file){
            fs.readFile(file, function(err, data){
                    myEvent.emit("showData", data);
            });
    }
    fnReadFile("hei.txt");
  • 相关阅读:
    linux最简单项目部署
    sql索引
    /etc/profile和~/.bash_profile区别
    Linux下查找软件的目录位置
    为什么要使用消息队列?
    idea中常用的快捷键
    PAT 甲级 1023 Have Fun with Numbers (20分)
    PAT《算法笔记》
    Text 2
    Text-1
  • 原文地址:https://www.cnblogs.com/luowenshuai/p/9293691.html
Copyright © 2011-2022 走看看