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:
- program start, fetch data from my db (DONE)
- store this data somehow somewhere
- access said data (for read only in this use case)
Thanks for any insights here!
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 @[email protected] suggested, but I’ve found that passing it as an argument feels a bit better.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!