# actix_web::dev::AsyncResult - Rust
API documentation for the Rust `AsyncResult` struct in crate `actix_web`.
Keywords: rust, rustlang, rust-lang, AsyncResult

# [−] [src] Struct actix_web::dev::AsyncResult

    pub struct AsyncResult<I, E = Error>(_);

Represents async result

Result could be in tree different forms.

- Ok(T) - ready item
- Err(E) - error happen during reply process
- Future<T, E> - reply process completes in the future

## Methods

###

`impl<I, E> AsyncResult<I, E>`

[src]

####

`pub fn async(fut: Box<Future<Item = I, Error = E>>) -> AsyncResult<I, E>`

[src]

Create async response

####

`pub fn ok<R: Into<I>>(ok: R) -> AsyncResult<I, E>`

[src]

Send response

####

`pub fn err<R: Into<E>>(err: R) -> AsyncResult<I, E>`

[src]

Send error

## Trait Implementations

###

`impl Responder for AsyncResult<HttpResponse>`

[src]

#### `type Item = AsyncResult<HttpResponse>`

The associated item which can be returned.

#### `type Error = Error`

The associated error which can be returned.

####

`fn respond_to<S>( self, _: &HttpRequest<S> ) -> Result<AsyncResult<HttpResponse>, Error>`

[src]

Convert itself to `AsyncResult` or `Error`.

###

`impl<T> From<T> for AsyncResult<T>`

[src]

####

`fn from(resp: T) -> AsyncResult<T>`

[src]

Performs the conversion.

###

`impl<T, E: Into<Error>> From<Result<AsyncResult<T, Error>, E>> for AsyncResult<T>`

[src]

####

`fn from(res: Result<AsyncResult<T>, E>) -> Self`

[src]

Performs the conversion.

###

`impl<T, E: Into<Error>> From<Result<T, E>> for AsyncResult<T>`

[src]

####

`fn from(res: Result<T, E>) -> Self`

[src]

Performs the conversion.

###

`impl<T, E> From<Result<Box<Future<Item = T, Error = E> + 'static>, E>> for AsyncResult<T> where T: 'static, E: Into<Error> + 'static,`

[src]

####

`fn from(res: Result<Box<Future<Item = T, Error = E>>, E>) -> Self`

[src]

Performs the conversion.

###

`impl<T> From<Box<Future<Item = T, Error = Error> + 'static>> for AsyncResult<T>`

[src]

####

`fn from(fut: Box<Future<Item = T, Error = Error>>) -> AsyncResult<T>`

[src]

Performs the conversion.

###

`impl<I, E> Future for AsyncResult<I, E>`

[src]

#### `type Item = I`

The type of value that this future will resolved with if it is successful. Read more

#### `type Error = E`

The type of error that this future will resolve with if it fails in a normal fashion. Read more

####

`fn poll(&mut self) -> Poll<I, E>`

[src]

Query this future to see if its value has become available, registering interest if it is not. Read more

####

`fn wait(self) -> Result<Self::Item, Self::Error>`

[src]

Block the current thread until this future is resolved. Read more

####

`fn map<F, U>(self, f: F) -> Map<Self, F> where F: FnOnce(Self::Item) -> U,`

[src]

Map this future's result to a different type, returning a new future of the resulting type. Read more

####

`fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where F: FnOnce(Self::Error) -> E,`

[src]

Map this future's error to a different error, returning a new future. Read more

####

`fn from_err<E>(self) -> FromErr<Self, E> where E: From<Self::Error>,`

[src]

Map this future's error to any error implementing `From` for this future's `Error`, returning a new future. Read more

####

`fn then<F, B>(self, f: F) -> Then<Self, B, F> where B: IntoFuture, F: FnOnce(Result<Self::Item, Self::Error>) -> B,`

[src]

Chain on a computation for when a future finished, passing the result of the future to the provided closure `f`. Read more

####

`fn and_then<F, B>(self, f: F) -> AndThen<Self, B, F> where B: IntoFuture<Error = Self::Error>, F: FnOnce(Self::Item) -> B,`

[src]

Execute another future after this one has resolved successfully. Read more

####

`fn or_else<F, B>(self, f: F) -> OrElse<Self, B, F> where B: IntoFuture<Item = Self::Item>, F: FnOnce(Self::Error) -> B,`

[src]

Execute another future if this one resolves with an error. Read more

####

`fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future> where B: IntoFuture<Item = Self::Item, Error = Self::Error>,`

[src]

Waits for either one of two futures to complete. Read more

####

`fn select2<B>(self, other: B) -> Select2<Self, <B as IntoFuture>::Future> where B: IntoFuture,`

[src]

Waits for either one of two differently-typed futures to complete. Read more

####

`fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>,`

[src]

Joins the result of two futures, waiting for them both to complete. Read more

####

`fn join3<B, C>( self, b: B, c: C ) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>,`

[src]

Same as `join`, but with more futures.

####

`fn join4<B, C, D>( self, b: B, c: C, d: D ) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, D: IntoFuture<Error = Self::Error>,`

[src]

Same as `join`, but with more futures.

####

`fn join5<B, C, D, E>( self, b: B, c: C, d: D, e: E ) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future> where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, D: IntoFuture<Error = Self::Error>, E: IntoFuture<Error = Self::Error>,`

[src]

Same as `join`, but with more futures.

####

`fn into_stream(self) -> IntoStream<Self>`

[src]

Convert this future into a single element stream. Read more

####

`fn flatten(self) -> Flatten<Self> where Self::Item: IntoFuture, <Self::Item as IntoFuture>::Error: From<Self::Error>,`

[src]

Flatten the execution of this future when the successful result of this future is itself another future. Read more

####

`fn flatten_stream(self) -> FlattenStream<Self> where Self::Item: Stream, <Self::Item as Stream>::Error == Self::Error,`

[src]

Flatten the execution of this future when the successful result of this future is a stream. Read more

####

`fn fuse(self) -> Fuse<Self>`

[src]

Fuse a future such that `poll` will never again be called once it has completed. Read more

####

`fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnOnce(&Self::Item),`

[src]

Do something with the item of a future, passing it on. Read more

####

`fn catch_unwind(self) -> CatchUnwind<Self> where Self: UnwindSafe,`

[src]

Catches unwinding panics while polling the future. Read more

####

`fn shared(self) -> Shared<Self>`

[src]

Create a cloneable handle to this future where all handles will resolve to the same result. Read more

## Auto Trait Implementations

###

`impl<I, E = Error> !Send for AsyncResult<I, E>`

###

`impl<I, E = Error> !Sync for AsyncResult<I, E>`

## Blanket Implementations

###

`impl<T> From for T`

[src]

####

`fn from(t: T) -> T`

[src]

Performs the conversion.

###

`impl<T, U> Into for T where U: From<T>,`

[src]

####

`fn into(self) -> U`

[src]

Performs the conversion.

###

`impl<T, U> TryFrom for T where T: From<U>,`

[src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Borrow for T where T: ?Sized,`

[src]

####

`fn borrow(&self) -> &T`

[src]

Immutably borrows from an owned value. Read more

###

`impl<T> BorrowMut for T where T: ?Sized,`

[src]

####

`fn borrow_mut(&mut self) -> &mut T`

[src]

Mutably borrows from an owned value. Read more

###

`impl<T, U> TryInto for T where U: TryFrom<T>,`

[src]

#### `type Error = <U as TryFrom<T>>::Error`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Any for T where T: 'static + ?Sized,`

[src]

####

`fn get_type_id(&self) -> TypeId`

[src]

🔬 This is a nightly-only experimental API. (`get_type_id`)

this method will likely be replaced by an associated static

Gets the `TypeId` of `self`. Read more

###

`impl<F> IntoFuture for F where F: Future,`

[src]

#### `type Future = F`

The future that this type can be converted into.

#### `type Item = <F as Future>::Item`

The item that the future may resolve with.

#### `type Error = <F as Future>::Error`

The error that the future may resolve with.

####

`fn into_future(self) -> F`

[src]

Consumes this object and produces a future.

###

`impl<T> Erased for T`

###

`impl<T> FutureExt for T where T: Future + ?Sized,`

[src]

####

`fn timeout(self, timeout: Duration) -> Timeout<Self>`

[src]

Creates a new future which allows `self` until `timeout`. Read more

###

`impl<F, A> WrapFuture for F where A: Actor, F: Future,`

#### `type Future = FutureWrap<F, A>`

The future that this type can be converted into.

#### `type Item = <F as Future>::Item`

The item that the future may resolve with.

#### `type Error = <F as Future>::Error`

The error that the future may resolve with.

####

`fn into_actor(self, &A) -> <F as WrapFuture<A>>::Future` |

Convert normal future to a ActorFuture

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)