Don't run until all the way until parked when waiting for a model's next event

This commit is contained in:
Max Brunsfeld 2023-11-16 14:09:33 -08:00
parent 6397c05835
commit f9650b3111

View file

@ -354,10 +354,18 @@ impl<T: Send> Model<T> {
})
});
cx.executor().run_until_parked();
rx.try_next()
.expect("no event received")
.expect("model was dropped")
loop {
match rx.try_next() {
Ok(Some(event)) => return event,
Ok(None) => panic!("model was dropped"),
Err(_) => {
if !cx.executor().run_step() {
break;
}
}
}
}
panic!("no event received")
}
}