#事件系统 #事件 #事件处理 #处理器 #async-trait #emit #define

async-events-emitter

提供事件处理系统实现的库

1 个不稳定版本

0.1.0 2024年1月15日

#1519异步

Apache-2.0

25KB
397

async-events-emitter

async-events-emitter 是一个提供异步事件处理系统的 Rust 库。它允许用户定义自定义事件和处理程序,发射事件并异步处理它们。

功能

  • 定义自定义事件。
  • 注册异步事件处理程序。
  • 发射由已注册处理程序处理的事件。

安装

async-events-emitter 添加到您的 Cargo.toml

[dependencies]
async-events-emitter = "0.1.0

用法

用法

以下是一个快速入门示例

use async_events_emitter::*;
use async_trait::async_trait;

// Define your custom event
#[derive(Debug, Clone)]
struct MyEvent;

// Implement the EventHandler trait
#[async_trait]
impl EventHandler<MyEvent> for MyHandler {
    async fn handle_event(&self, event: MyEvent) {
        // Process and handle your event asynchronously
    }
}

// Usage
#[tokio::main]
async fn main() {
    let mut ee = EventEmitter::new();
    let handler = MyHandler;

    // Attach the handler to your event
    ee.on::<MyEvent>(handler);

    // Emit the event
    ee.emit(MyEvent);
}

许可

此库根据 Apache-2.0 许可证分发。有关详细信息,请参阅 LICENSE


由 Amit Shmulevitch 使用 </> 创建。

依赖项

~3–10MB
~87K SLoC