1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use crate::*;
use unwrap::unwrap;
use wasm_bindgen_futures::spawn_local;
pub fn async_fetch_game_config_request(
rrc: &mut RootRenderingComponent,
vdom_weak: &dodrio::VdomWeak,
) {
let url_config = format!(
"{}/content/{}/game_config.json",
rrc.game_data.href, rrc.game_data.game_name
);
let vdom_weak = vdom_weak.clone();
spawn_local(set_game_config_from_json(url_config, vdom_weak));
}
pub async fn set_game_config_from_json(url_config: String, vdom: dodrio::VdomWeak) {
let respbody = fetchmod::fetch_response(url_config).await;
let json = unwrap!(serde_json::from_str(respbody.as_str()));
unwrap!(
vdom.with_component({
move |root| {
let rrc = root.unwrap_mut::<RootRenderingComponent>();
rrc.game_data.game_config = json;
}
})
.await
);
}