[EventProxy(三)]EventProxy之tail说明

假设你已经阅读并基本理解了EventProxy的官方说明https://www.npmjs.com/package/eventproxy,否则你有两个选择:

1、先阅读官方说明,再浏览本文

2、如果不愿意做第1条,关闭本页面去别处逛逛。

言归正传。

var fs=require("fs");

varEventProxy=require("eventproxy");

var ep = new EventProxy();

 

ep.tail('file','counter', function (file, date) {

       //注:

    // 待所有指定的事件都触发后,将第一次回调

    // 以后再触发其中之一的事件,都会回调。

   console.log(file);

   console.log(date);

});

fs.readFile('D:\\2.txt', 'utf-8', function(err, content) {

   ep.emit('file', content);

});

setInterval(function () {

       ep.emit('counter', Date());

}, 2000);

 

运行结果:

4.welcome to my home.

5.welcome to my home.

6.welcome to my home.

Thu Apr 23 2015 16:58:16 GMT+0800 (中国标准时间)

4.welcome to my home.

5.welcome to my home.

6.welcome to my home.

Thu Apr 23 2015 16:58:18 GMT+0800 (中国标准时间)

4.welcome to my home.

5.welcome to my home.

6.welcome to my home.

Thu Apr 23 2015 16:58:20 GMT+0800 (中国标准时间)

4.welcome to my home.

5.welcome to my home.

6.welcome to my home.

Thu Apr 23 2015 16:58:22 GMT+0800 (中国标准时间)

……

可以看到,尽管定时器第二次触发时,'file'事件并没有再次触发,但tail仍然保留着上一次'file'事件的内容,而不是null或undefined。实际上,tail回调函数中所引用的参数,只要用户不显式销毁或释放(例如不对mongodb数据库调用colse方法,如果该参数是个db对象的话,已测),引用的参数将一直有效。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值