pub fn spawn_local<F, Out>(func: F) -> JoinHandle<Out>where
F: Future<Output = Out> + 'static,
Out: 'static,
Expand description
Spawns a thread-local future on GLib’s executor, for non-Send
futures.
Examples found in repository?
examples/typed_list_view_async.rs (lines 93-99)
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
fn bind(&mut self, widgets: &mut Self::Widgets, _root: &mut Self::Root) {
println!("Unbind {}", self.value);
let Widgets {
label,
label2,
button,
} = widgets;
let future_binding = self.binding.clone();
self.handle = Some(relm4::spawn_local(async move {
loop {
tokio::time::sleep(Duration::from_secs(1)).await;
let mut guard = future_binding.guard();
*guard = guard.wrapping_add(1);
}
}));
label.set_label(&format!("Value: {} ", self.value));
label2.add_write_only_binding(&self.binding, "label");
button.set_active(self.value % 2 == 0);
}