# Tokio Authors - Select (Highlights)

## Metadata
**Review**:: [readwise.io](https://readwise.io/bookreview/50784401)
**Source**:: #from/readwise #from/raindrop
**Zettel**:: #zettel/fleeting
**Status**:: #x
**Authors**:: [[Tokio Authors]]
**Full Title**:: Select
**Category**:: #articles #readwise/articles
**Category Icon**:: 📰
**Document Tags**:: #concurrency #macro #reference #rust
**URL**:: [tokio.rs](https://tokio.rs/tokio/tutorial/select)
**Host**:: [[tokio.rs]]
**Highlighted**:: [[2025-04-22]]
**Created**:: [[2025-04-23]]
## Highlights
- Note how, instead of calling action() in the select! macro, it is called outside the loop. The return of action() is assigned to operation without calling .await. Then we call tokio::pin! on operation.
^880760134
Inside the select! loop, instead of passing in operation, we pass in &mut operation. The operation variable is tracking the in-flight asynchronous operation. Each iteration of the loop uses the same operation instead of issuing a new call to action().