R Shiny downloadHandler can't trigger and resolve reactives

R fam, I need help. I want to allow users in my Shiny app to download node locations in a visNetwork. To get those, I need to call visGetEdges on a visNetworkProxy which sends a message to the client who returns to server as a reactive. I can't wait for that reactive to complete in the middle of my downloadHandler content method though. Do I need async here? Is there some way to allow reactives to resolve before continuing in a single thread? Something else?

The best I came up with is to split my download button into an action button and hidden download button. The action button triggers the client to do work and trigger the reactive. When that reactive resolves an observer automatically clicks the hidden download button. It's a hack though and I hope there's a more direct solution.