this post was submitted on 08 Jul 2023
2 points (100.0% liked)

Rust

5771 readers
20 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

My program is small enough that in TS/JS I'd normally just store the data in some global variable to be access from whatever elsewhere in the app. But with Rust from what I can tell this doesn't seem to be a common practice. How should i handle this?

More specifically, I need to:

  1. program start, fetch data from my db (DONE)
  2. store this data somehow somewhere
  3. access said data (for read only in this use case)

Thanks for any insights here!

top 2 comments
sorted by: hot top controversial new old
[โ€“] mipli@programming.dev 1 points 1 year ago

I would consider just passing along the data directly to the functions that need access to it, rather than storing in a global state. If passing each piece of data along as separate parameters is a bit much, you can always create struct Context { ... } which keeps tracks of whatever you need and pass that around.

Nothing wrong with using OnceCell as @heartlessevil@lemmy.one suggested, but I've found that passing it as an argument feels a bit better.

[โ€“] dvektor@programming.dev 0 points 1 year ago

Glad I clicked on this... I'd never heard of /used OnceCell, and have a literally identical need in a program I'm writing. Nice!