How to set value ONLY ONCE in chrome extensions using chrome.storage.local

Clash Royale CLAN TAG#URR8PPPHow to set value ONLY ONCE in chrome extensions using chrome.storage.local
I am making a Chrome extension that features a login flow using an existing in house authentication system. I make a get query, then the system redirects to the auth URL, then returns the user to a white-listed URL.
Right before the user is sent to the authentication URL to do its business, I want to grab their location and store it, so after they are logged in and returned to the white-listed URL, they can then be redirected to where they kicked off the login flow.
I am using chrome.storage.local to set location and get location, but due to they async nature of this call, I'm getting an infinite loop.
Any suggestions on how to just set and get once and/or hack the async nature of chrome storage?
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.