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
|
// 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
|
// 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();
|
self.runtime.acquire_flush_lock();
|
||||||
|
|
||||||
match self.rx.next().await.expect("channel should never close") {
|
match self.rx.next().await.expect("channel should never close") {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ where
|
|||||||
let mut callback = use_callback(move || {
|
let mut callback = use_callback(move || {
|
||||||
let fut = future();
|
let fut = future();
|
||||||
spawn(async move {
|
spawn(async move {
|
||||||
|
flush_sync().await;
|
||||||
state.set(UseFutureState::Pending);
|
state.set(UseFutureState::Pending);
|
||||||
fut.await;
|
fut.await;
|
||||||
state.set(UseFutureState::Complete);
|
state.set(UseFutureState::Complete);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
use dioxus_core::prelude::{
|
use dioxus_core::prelude::{
|
||||||
consume_context, consume_context_from_scope, current_scope_id, has_context, needs_update_any,
|
current_scope_id, has_context, needs_update_any, provide_context, ScopeId,
|
||||||
provide_context, schedule_update, schedule_update_any, try_consume_context, ScopeId,
|
|
||||||
};
|
};
|
||||||
use generational_box::{GenerationalBoxId, SyncStorage};
|
use generational_box::{GenerationalBoxId, SyncStorage};
|
||||||
use rustc_hash::{FxHashMap, FxHashSet};
|
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
|
/// When the ReactiveContext drops, it will remove itself from the the associated contexts attached to signal
|
||||||
#[derive(Clone, Copy, PartialEq, Eq)]
|
#[derive(Clone, Copy, PartialEq, Eq)]
|
||||||
pub struct ReactiveContext {
|
pub struct ReactiveContext {
|
||||||
pub inner: CopyValue<Inner, SyncStorage>,
|
inner: CopyValue<Inner, SyncStorage>,
|
||||||
}
|
}
|
||||||
|
|
||||||
thread_local! {
|
thread_local! {
|
||||||
|
|||||||
Reference in new issue
Block a user