doc(client): show spawning a client future, clarify lazy in client example
This commit is contained in:
		| @@ -28,7 +28,14 @@ fn main() { | |||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     rt::run(rt::lazy(move || { |     // Run the runtime with the future trying to fetch and print this URL. | ||||||
|  |     // | ||||||
|  |     // Note that in more complicated use cases, the runtime should probably | ||||||
|  |     // run on its own, and futures should just be spawned into it. | ||||||
|  |     rt::run(fetch_url(url)); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | fn fetch_url(url: hyper::Uri) -> impl Future<Item=(), Error=()> { | ||||||
|     let client = Client::new(); |     let client = Client::new(); | ||||||
|  |  | ||||||
|     client |     client | ||||||
| @@ -55,5 +62,4 @@ fn main() { | |||||||
|         .map_err(|err| { |         .map_err(|err| { | ||||||
|             eprintln!("Error {}", err); |             eprintln!("Error {}", err); | ||||||
|         }) |         }) | ||||||
|     })); |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -23,20 +23,22 @@ | |||||||
| //! | //! | ||||||
| //! ## Example | //! ## Example | ||||||
| //! | //! | ||||||
| //! ```no_run | //! For a small example program simply fetching a URL, take a look at the | ||||||
|  | //! [full client example](https://github.com/hyperium/hyper/blob/master/examples/client.rs). | ||||||
|  | //! | ||||||
|  | //! ``` | ||||||
| //! extern crate hyper; | //! extern crate hyper; | ||||||
| //! | //! | ||||||
| //! use hyper::Client; | //! use hyper::Client; | ||||||
| //! # #[cfg(feature = "runtime")] | //! # #[cfg(feature = "runtime")] | ||||||
| //! use hyper::rt::{self, lazy, Future, Stream}; | //! use hyper::rt::{self, Future, Stream}; | ||||||
| //! | //! | ||||||
| //! # #[cfg(feature = "runtime")] | //! # #[cfg(feature = "runtime")] | ||||||
| //! fn main() { | //! # fn fetch_httpbin() { | ||||||
| //!     // A runtime is needed to execute our asynchronous code. |  | ||||||
| //!     rt::run(lazy(|| { |  | ||||||
| //! let client = Client::new(); | //! let client = Client::new(); | ||||||
| //! | //! | ||||||
| //!         client | //! let fut = client | ||||||
|  | //! | ||||||
| //!     // Make a GET /ip to 'http://httpbin.org' | //!     // Make a GET /ip to 'http://httpbin.org' | ||||||
| //!     .get("http://httpbin.org/ip".parse().unwrap()) | //!     .get("http://httpbin.org/ip".parse().unwrap()) | ||||||
| //! | //! | ||||||
| @@ -65,10 +67,13 @@ | |||||||
| //!     // Map any errors that might have happened... | //!     // Map any errors that might have happened... | ||||||
| //!     .map_err(|err| { | //!     .map_err(|err| { | ||||||
| //!         println!("error: {}", err); | //!         println!("error: {}", err); | ||||||
| //!             }) | //!     }); | ||||||
| //!     })); | //! | ||||||
| //! } | //! // A runtime is needed to execute our asynchronous code. In order to | ||||||
| //! # #[cfg(not(feature = "runtime"))] | //! // spawn the future into the runtime, it should already have been | ||||||
|  | //! // started and running before calling this this code. | ||||||
|  | //! rt::spawn(fut); | ||||||
|  | //! # } | ||||||
| //! # fn main () {} | //! # fn main () {} | ||||||
| //! ``` | //! ``` | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user