You may want to look into coroutines so that the data can be fetched asynchronously.
Everything so far is synchronous. In our toy benchmarks I've found out Go to be quite performant, perhaps it's using go-routines behind the scenes (?) Haven't explored their internals yet but I was surprised