DEV Community

Discussion on: How to Fetch a Web API with Rust πŸ¦€

Collapse
 
muxcmux profile image
πŸ₯”

Nice writeup.

I don't see why you need async in your program - all you do is hit an api once, wait for the result and print it on screen. This program should work exactly the same without async/await.

A better example would be to pass multiple company names and fetch the data concurrently.

Also I don't think the ? operator is the same as unwrap. unwrap will panic the current thread if the result an Err, while ? will propagate it to the call site.

Collapse
 
hb profile image
Henry Boisdequin

It's true that async is not needed but I wanted to show how to use async/await in Rust.

A better example would be to pass multiple company names and fetch the data concurrently.

Great idea! I will be sure to implement that type of tutorial soon. Also, the ? operator is not the same as unwrap, you're right. Since this post is more for beginners and it wasn't focused on the ? operator, I just wanted them to be familiar with the syntax and not have to worry about what it does.

Thanks for your input.

Collapse
 
ryan_dines_97ed10c2ae7068 profile image
Ryan Dines

API requests should always be async. What if the network is down. Obviously a timeout and error handling would be good too, but since its a demo, just the async is fine.

Collapse
 
muxcmux profile image
πŸ₯”

They absolutely don’t have to be. It depends on the context. And in this particular example, you gain nothing by using async Rust.

The network being down and async are two unrelated concepts. Async doesn’t magically fix the network, nor it helps you deal with errors better/easier.