mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-23 12:43:08 +00:00
disable use_future on the server
This commit is contained in:
parent
8f70a84c70
commit
0fd7799bc2
3 changed files with 5 additions and 3 deletions
|
@ -448,6 +448,8 @@ impl VirtualDom {
|
|||
|
||||
// Hold a lock to the flush sync to prevent tasks from running in the event we get an immediate
|
||||
// When we're doing awaiting the rx, the lock will be dropped and tasks waiting on the lock will get waked
|
||||
// We have to own the lock since poll_tasks is cancel safe - the future that this is running in might get dropped
|
||||
// and if we held the lock in the scope, the lock would also get dropped prematurely
|
||||
self.runtime.acquire_flush_lock();
|
||||
|
||||
match self.rx.next().await.expect("channel should never close") {
|
||||
|
|
|
@ -21,6 +21,7 @@ where
|
|||
let mut callback = use_callback(move || {
|
||||
let fut = future();
|
||||
spawn(async move {
|
||||
flush_sync().await;
|
||||
state.set(UseFutureState::Pending);
|
||||
fut.await;
|
||||
state.set(UseFutureState::Complete);
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
use dioxus_core::prelude::{
|
||||
consume_context, consume_context_from_scope, current_scope_id, has_context, needs_update_any,
|
||||
provide_context, schedule_update, schedule_update_any, try_consume_context, ScopeId,
|
||||
current_scope_id, has_context, needs_update_any, provide_context, ScopeId,
|
||||
};
|
||||
use generational_box::{GenerationalBoxId, SyncStorage};
|
||||
use rustc_hash::{FxHashMap, FxHashSet};
|
||||
|
@ -16,7 +15,7 @@ use crate::{CopyValue, RcList, Readable, Writable};
|
|||
/// When the ReactiveContext drops, it will remove itself from the the associated contexts attached to signal
|
||||
#[derive(Clone, Copy, PartialEq, Eq)]
|
||||
pub struct ReactiveContext {
|
||||
pub inner: CopyValue<Inner, SyncStorage>,
|
||||
inner: CopyValue<Inner, SyncStorage>,
|
||||
}
|
||||
|
||||
thread_local! {
|
||||
|
|
Loading…
Reference in a new issue