diff --git a/examples/system_information/src/main.rs b/examples/system_information/src/main.rs index 46176d93..afa657d8 100644 --- a/examples/system_information/src/main.rs +++ b/examples/system_information/src/main.rs @@ -29,23 +29,27 @@ enum Message { impl Example { fn new() -> (Self, Task) { - (Self::Loading, Task::done(Message::Refresh)) + ( + Self::Loading, + system::fetch_information().map(Message::InformationReceived), + ) } - + fn update(&mut self, message: Message) -> Task { match message { Message::Refresh => { - *self = Self::Loading; + let (state, refresh) = Self::new(); - return system::fetch_information() - .map(Message::InformationReceived); + *self = state; + + refresh } Message::InformationReceived(information) => { *self = Self::Loaded { information }; + + Task::none() } } - - Task::none() } fn view(&self) -> Element {