eval.rs 673 B

1234567891011121314151617181920212223242526272829
  1. use dioxus::prelude::*;
  2. fn main() {
  3. launch_desktop(app);
  4. }
  5. fn app() -> Element {
  6. let future = use_future(|| async move {
  7. let mut eval = eval(
  8. r#"
  9. dioxus.send("Hi from JS!");
  10. let msg = await dioxus.recv();
  11. console.log(msg);
  12. return "hello world";
  13. "#,
  14. )
  15. .unwrap();
  16. eval.send("Hi from Rust!".into()).unwrap();
  17. let res = eval.recv().await.unwrap();
  18. println!("{:?}", eval.await);
  19. res
  20. });
  21. match future.value().read().as_ref() {
  22. Some(v) => rsx!( p { "{v}" } ),
  23. _ => rsx!( p { "waiting.." } ),
  24. }
  25. }