pub struct PromiseChain<'w, 's, 'a, S: 'static, R: 'static> { /* private fields */ }Trait Implementations§
Source§impl<'w, 's, 'a, S: 'static, R: 'static> Drop for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S: 'static, R: 'static> Drop for PromiseChain<'w, 's, 'a, S, R>
Source§impl<'w, 's, 'a, S: 'static> PromiseLike<S> for PromiseChain<'w, 's, 'a, S, ()>
impl<'w, 's, 'a, S: 'static> PromiseLike<S> for PromiseChain<'w, 's, 'a, S, ()>
Source§fn then_repeat<R2: 'static>(
self,
func: Asyn<(PromiseState<S>, ()), impl 'static + Into<PromiseResult<S, Repeat<R2>>>, impl PromiseParams>,
) -> Self::Promise<S, R2>
fn then_repeat<R2: 'static>( self, func: Asyn<(PromiseState<S>, ()), impl 'static + Into<PromiseResult<S, Repeat<R2>>>, impl PromiseParams>, ) -> Self::Promise<S, R2>
Create new
PromiseLike<S, R2> from default S state and Asyn![D => S,Repeat<R>] func.
R2 infers from the func body.
If func resolves with Repeat::Continue it executes one more time.
If func resolves with Repeat::Break(result), the loop stops and
result passes to the next promise.Source§impl<'w, 's, 'a, S: 'static, R: 'static> PromiseLikeBase<S, R> for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S: 'static, R: 'static> PromiseLikeBase<S, R> for PromiseChain<'w, 's, 'a, S, R>
type Promise<S2: 'static, R2: 'static> = PromiseChain<'w, 's, 'a, S2, R2>
Source§fn then<S2: 'static, R2: 'static>(
self,
func: Asyn<(PromiseState<S>, R), impl 'static + Into<PromiseResult<S2, R2>>, impl PromiseParams>,
) -> Self::Promise<S2, R2>
fn then<S2: 'static, R2: 'static>( self, func: Asyn<(PromiseState<S>, R), impl 'static + Into<PromiseResult<S2, R2>>, impl PromiseParams>, ) -> Self::Promise<S2, R2>
Schedule the next
Asyn![S, R => S2, R2] func invocation after current promise resolve.
S2 and R2 infers from the func bodySource§fn map_result<R2: 'static, F: 'static + FnOnce(R) -> R2>(
self,
map: F,
) -> Self::Promise<S, R2>
fn map_result<R2: 'static, F: 'static + FnOnce(R) -> R2>( self, map: F, ) -> Self::Promise<S, R2>
Source§fn with_result<R2: 'static>(self, value: R2) -> Self::Promise<S, R2>
fn with_result<R2: 'static>(self, value: R2) -> Self::Promise<S, R2>
Create new
PromiseLike<S, R2> from previouse promise with new result R2Source§fn with<S2: 'static>(self, state: S2) -> Self::Promise<S2, R>
fn with<S2: 'static>(self, state: S2) -> Self::Promise<S2, R>
Create new
PromiseLike<S2, R> from previouse promise with state replaced with S2Auto Trait Implementations§
impl<'w, 's, 'a, S, R> Freeze for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S, R> !RefUnwindSafe for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S, R> Send for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S, R> Sync for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S, R> Unpin for PromiseChain<'w, 's, 'a, S, R>
impl<'w, 's, 'a, S, R> !UnwindSafe for PromiseChain<'w, 's, 'a, S, R>
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
Return the
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.