码迷,mamicode.com
首页 > Web开发 > 详细

node.js接收异步任务结果的两种方法----callback和事件广播

时间:2019-10-25 13:32:36      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:read   cti   eve   nod   Fix   css   --   event   tty   

  • 事件广播 发送方调用emit方法,接收方调用on方法,无论发送方或是接收方,都会工作在一个频道
声明了一个模块,用于读取mime.json中的记录
var fs = require(‘fs‘);
var events = require(‘events‘);
var eventemitter = new events.EventEmitter();
var getmimetype = function (path,eventemitter,suffix) {
    fs.readFile(path,function (err,data) {
        if(err){
            console.log(err);
            return false;
        }
        var filedata = JSON.parse(data.toString());
        eventemitter.emit(‘wenwa‘,filedata[suffix]);
        //console.log(filedata[suffix])
    })
};
module.exports = getmimetype;
  • 接收方
也就是在另一个文件中调用写好的模块,并声明广播的接收方
var eventer = require(‘./readfile_events‘);
var fs = require(‘fs‘);
var events = require(‘events‘);
var eventemitter = new events.EventEmitter();
eventer(‘./mime.json‘,eventemitter,‘.css‘);
eventemitter.on(‘wenwa‘,function (data) {
    console.log(data)
});
  • 回调函数
//定义模块
var
fs = require(‘fs‘); var gettype = function (suffix,callback) { fs.readFile(‘./mime.json‘,function (err,data) { if(err){ console.log(err); return false; } var filedata = JSON.parse(data.toString()); //console.log(filedata[suffix]); callback(filedata[suffix]) }) }; module.exports = gettype;
//调用模块
var
gettype = require(‘./readfilecallback.js‘); var fs = require(‘fs‘); var events = require(‘events‘); var eventemitter = new events.EventEmitter(); gettype(‘.323‘,mycallback); function mycallback(data) { console.log(data) }

 

node.js接收异步任务结果的两种方法----callback和事件广播

标签:read   cti   eve   nod   Fix   css   --   event   tty   

原文地址:https://www.cnblogs.com/saintdingspage/p/11737419.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!