disable use_future on the server
This commit is contained in:
3 files changed
+5
-3
No files matched your search
@@ -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! {
|
||||
|
||||
Reference in new issue
Block a user