#events #emitter #publish #subscribe #pub-sub #ee

alone_ee

小型事件发射器,用于快速开发应用中的弱依赖关系。简单。强大。预测性。

26 个稳定版本

1.7.3 2020 年 5 月 1 日
1.7.0 2020 年 1 月 21 日
1.4.2 2019 年 12 月 15 日
1.1.0 2019 年 11 月 19 日
1.0.3 2019 年 10 月 29 日

#1379Rust 模式

每月 23 次下载

GPL-3.0 许可证

12KB
254

alone_ee

最简单的 Rust 事件发射器

fn main () { 
    use alone_ee::event_emitter::EventEmitter;
    let ee = EventEmitte::Stringr::new();

    let subscription1 = ee.on(Box::new(|event_data| {  // listener will be alive till subscription is alive 
        // do something
        println!("hello {}", event_data);
        Ok(())
    }));

    let _subscription2 = ee.once(Box::new(|event_data| {   // listener will be alive till subscription is alive or next emit will fired
        // do something
        println!("hello {} one more time", event_data);
        Ok(())
    }));

    ee.emit("world1").unwrap();
    ee.emit("world2").unwrap();

    // you will see 
    //     "hello world1"
    //     "hello world1 one more time"
    //     "hello world2"

    drop(subscription1); // unbind the listener
    // _subscription2 will be removed automatically
}

测试

$ cargo test --release

基准测试

$ cargo bench

依赖项

~110KB