zoukankan      html  css  js  c++  java
  • nodejs 中自定义事件

    经常看到

    req.on('error', function(){...}); 

    这种代码。

    在nodejs中,可以使用 EventEmitter来实现。

    具体的关键词有如下几个:

    var reqEvent = new EventEmitter();
    
    reqEvent.on(ev, cb);
    
    reqEvent.emit('error');
    

    下面是这个实现方法:

    var EventEmitter = require('events').EventEmitter;
    var reqEvent = new EventEmitter();
    
    var req = {
        on: function (ev, cb) {
            reqEvent.on(ev, cb);
        },
        run: function () {
            if ("fire Error") {
                reqEvent.emit('error'); //出错了
            }
    
            reqEvent.emit('ex'); //前任
            console.log('我是正房');
            reqEvent.emit('done'); //小三
        }
    }
    
    
    req.on('error', function () {
        console.log('唉呀,出错了!');
    });
    req.on('ex', function () {
        setTimeout(function () {
            console.log('我是前任,但我在剧本中出现晚于正房 1 秒钟。');
        }, 1000);
    });
    req.on('done', function () {
        setTimeout(function () {
            console.log('我是小三,但我在剧本中出现晚于正房 2 秒钟。');
        }, 2000);
    });
    
    
    //启动
    req.run();
  • 相关阅读:
    Vim的分屏功能
    vim简明教程
    trk压力测试工具(测试tcp)
    浅谈ThreadPool 线程池
    压力测试的概念
    wrk 网站压力测试
    windows下vim中文乱码处理
    java 新创建的类要重写的方法
    多线程代码示例
    System.out.print实现原理猜解
  • 原文地址:https://www.cnblogs.com/cloudbeer/p/3556146.html
Copyright © 2011-2022 走看看