What and How of Futures and async/await in Rust

What and How of Futures and async/await in Rust

The What and How of Futures and async/await in Rust. Futures are Rust's way of expressing asynchronous computations. We also discuss async/await, and how they affect futures, and how Rust's proposed pinning types act as the glue to make async/await work. What are futures? What is async/await?

Futures are Rust's way of expressing asynchronous computations, but even after reading the documentation, it can be hard to figure out how all the pieces of futures (and tokio) fit together. While this may not matter too much if you're just using futures, it becomes a stumbling block once you want to implement asynchronous primitives yourself. The highly anticipated async and await keywords that are coming down the pike *promise *to greatly reduce the friction of writing and using asynchronous code, but add even more to the mystery of how this stuff all works.

In this stream, we tackle all of this head on. We go through what futures are, how they work, how they are used to represent things like asynchronous I/O (like networking), how they are executed, and how they are evolving as they are being adopted into the standard library. We also discuss** [async/await](https://morioh.com/p/02e60b6a96fb/javascript-from-callbacks-to-async-await "async/await"), and how they affect futures, and how Rust's proposed pinning types act as the glue to make **async/await work.

This is pretty dense material, but hopefully serves as a good and thorough overview of futures in Rust. If you want to know how it all works, this stream probably has you covered! To help you navigate, here are the major transition points:

0:05:57 - What are futures? 0:16:39 - How are futures executed? 0:26:10 - Super weird audio problems 0:29:09 - All good again! (you didn't miss anything) 0:50:04 - How do you integrate futures with I/O? 1:36:11 - Driving futures with Tokio 1:49:28 - Multi-threaded future execution 2:15:00 - Stream and Sink 2:17:11 - (brief aside about tokio-io-pool) 2:24:07 - Putting futures in the standard library 2:30:00 - Arbitrary self types 2:33:46 - What is async/await? 2:46:58 - Why is async/await hard? 2:53:34 - Self-referential data-types 2:58:48 - Pinning! 3:50:40 - Q&A

The tokio documentation push is being organized at https://github.com/tokio-rs/doc-push.

rust web-development

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Hire Web Developer

Looking for an attractive & user-friendly web developer? HourlyDeveloper.io, a leading web, and mobile app development company, offers web developers for hire through flexible engagement models. You can **[Hire Web...

Why Web Development is Important for your Business

With the rapid development in technology, the old ways to do business have changed completely. A lot more advanced and developed ways are ...

Important Reasons to Hire a Professional Web Development Company

    You name the business and I will tell you how web development can help you promote your business. If it is a startup or you seeking some...

Hire Dedicated eCommerce Web Developers | Top eCommerce Web Designers

Build your eCommerce project by hiring our expert eCommerce Website developers. Our Dedicated Web Designers develop powerful & robust website in a short span of time.

How long does it take to develop/build an app?

This article covers A-Z about the mobile and web app development process and answers your question on how long does it take to develop/build an app.