module.rs 658 B

1234567891011121314151617181920212223242526
  1. use lib_dispatch::{prelude::*, util::tokio_default_runtime};
  2. use std::sync::Arc;
  3. pub async fn hello() -> String {
  4. "say hello".to_string()
  5. }
  6. #[tokio::test]
  7. async fn test() {
  8. env_logger::init();
  9. let event = "1";
  10. let runtime = tokio_default_runtime().unwrap();
  11. let dispatch = Arc::new(EventDispatcher::construct(runtime, || {
  12. vec![Module::new().event(event, hello)]
  13. }));
  14. let request = ModuleRequest::new(event);
  15. let _ = EventDispatcher::async_send_with_callback(dispatch.clone(), request, |resp| {
  16. Box::pin(async move {
  17. dbg!(&resp);
  18. })
  19. })
  20. .await;
  21. std::mem::forget(dispatch);
  22. }