Function freya::prelude::use_resource  
pub fn use_resource<T, F>(future: impl FnMut() -> F + 'static) -> Resource<T>where
    T: 'static,
    F: Future<Output = T> + 'static,Expand description
A memo that resolves to a value asynchronously.
Similar to use_future but use_resource returns a value.
See Resource for more details.
fn app() -> Element {
    let country = use_signal(|| WeatherLocation {
        city: "Berlin".to_string(),
        country: "Germany".to_string(),
        coordinates: (52.5244, 13.4105)
    });
   // Because the resource's future subscribes to `country` by reading it (`country.read()`),
   // every time `country` changes the resource's future will run again and thus provide a new value.
   let current_weather = use_resource(move || async move { get_weather(&country()).await });
   
   rsx! {
       // the value of the resource can be polled to
       // conditionally render elements based off if it's future
       // finished (Some(Ok(_)), errored Some(Err(_)),
       // or is still running (None)
       match current_weather.value() {
           Some(Ok(weather)) => rsx! { WeatherElement { weather } },
           Some(Err(e)) => rsx! { p { "Loading weather failed, {e}" } },
           None =>  rsx! { p { "Loading..." } }
       }
   }
}§With non-reactive dependencies
To add non-reactive dependencies, you can use the use_reactive hook.
Signals will automatically be added as dependencies, so you don’t need to call this method for them.
#[component]
fn Comp(count: u32) -> Element {
    // Because the memo subscribes to `count` by adding it as a dependency, the memo will rerun every time `count` changes.
    let new_count = use_resource(use_reactive((&count, |(count,)| async move {count + 1} )));
    todo!()
}