Make signature of use_future_with consistent (#3372)

This commit is contained in:
Muhammad Hamza 2023-08-15 16:32:27 +05:00 committed by GitHub
parent e59edde1d0
commit 41d42fb89d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 10 deletions

View File

@ -72,7 +72,7 @@ where
T: Future<Output = O> + 'static, T: Future<Output = O> + 'static,
O: 'static, O: 'static,
{ {
use_future_with_deps(move |_| init_f(), ()) use_future_with((), move |_| init_f())
} }
/// Use the result of an async computation with dependencies, suspending while waiting. /// Use the result of an async computation with dependencies, suspending while waiting.
@ -84,7 +84,7 @@ where
/// ///
/// [ready]: std::task::Poll::Ready /// [ready]: std::task::Poll::Ready
#[hook] #[hook]
pub fn use_future_with_deps<F, D, T, O>(f: F, deps: D) -> SuspensionResult<UseFutureHandle<O>> pub fn use_future_with<F, D, T, O>(deps: D, f: F) -> SuspensionResult<UseFutureHandle<O>>
where where
F: FnOnce(Rc<D>) -> T, F: FnOnce(Rc<D>) -> T,
T: Future<Output = O> + 'static, T: Future<Output = O> + 'static,

View File

@ -13,7 +13,7 @@ use web_sys::{HtmlElement, HtmlTextAreaElement};
use yew::platform::spawn_local; use yew::platform::spawn_local;
use yew::platform::time::sleep; use yew::platform::time::sleep;
use yew::prelude::*; use yew::prelude::*;
use yew::suspense::{use_future, use_future_with_deps, Suspension, SuspensionResult}; use yew::suspense::{use_future, use_future_with, Suspension, SuspensionResult};
use yew::UseStateHandle; use yew::UseStateHandle;
wasm_bindgen_test_configure!(run_in_browser); wasm_bindgen_test_configure!(run_in_browser);
@ -645,13 +645,10 @@ async fn use_suspending_future_with_deps_works() {
#[function_component(Content)] #[function_component(Content)]
fn content(ContentProps { delay_millis }: &ContentProps) -> HtmlResult { fn content(ContentProps { delay_millis }: &ContentProps) -> HtmlResult {
let delayed_result = use_future_with_deps( let delayed_result = use_future_with(*delay_millis, |delay_millis| async move {
|delay_millis| async move { sleep(Duration::from_millis(*delay_millis)).await;
sleep(Duration::from_millis(*delay_millis)).await; 42
42 })?;
},
*delay_millis,
)?;
Ok(html! { Ok(html! {
<div> <div>

View File

@ -24,6 +24,9 @@ sg --pattern 'use_callback($DEPENDENCIES,,$$$CALLBACK)' --rewrite 'use_callback(
sg --pattern 'use_memo($CALLBACK,$$$DEPENDENCIES)' --rewrite 'use_memo($$$DEPENDENCIES, $CALLBACK)' -l rs -i sg --pattern 'use_memo($CALLBACK,$$$DEPENDENCIES)' --rewrite 'use_memo($$$DEPENDENCIES, $CALLBACK)' -l rs -i
sg --pattern 'use_memo($DEPENDENCIES,,$$$CALLBACK)' --rewrite 'use_memo($DEPENDENCIES,$$$CALLBACK)' -l rs -i sg --pattern 'use_memo($DEPENDENCIES,,$$$CALLBACK)' --rewrite 'use_memo($DEPENDENCIES,$$$CALLBACK)' -l rs -i
sg --pattern 'use_future_with_deps($CALLBACK,$$$DEPENDENCIES)' --rewrite 'use_effect_with($$$DEPENDENCIES, $CALLBACK)' -l rs -i
sg --pattern 'use_future_with($DEPENDENCIES,,$$$CALLBACK)' --rewrite 'use_effect_with($DEPENDENCIES,$$$CALLBACK)' -l rs -i
``` ```
### Reasoning ### Reasoning