I need some help with an async await fetch call
I am using openweathermap.org to get the weather for a hard-coded city name. I created a function before that fetch call using zip code and I am getting and returning the city name from that function. However, I can't seem to use the return value to set the city name. I obviously do not have promises down because I'm getting
Promise pending
when I console log the function call. I have the code in question in CodePen: https://codepen.io/jim-kernicky/pen/ZERmxaM
What am I doing wrong?10 Replies
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View
Thanks for t he reply. But how do I get the city name and use it in a variable which I them plug into the API endpoint? That's where I'm getting stuck. The zip API endpoint gives me the city name and lat/long if I wanted to use that. I already have the city name endpoint working, so I just want to concat the variable name which is equal to the city name that's it. Then a user can enter a zip code and the resulting city can be used to get the weather data:
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View
No, I didn't want to post my actual key
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View
Basically, I am using one openweathermap endpoint to get a field which I need in my other endpoints. I'm not an expert at this stuff so I'm sure I'm just handling it wrong
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View
Same API source (openweathermap.org). They have a lot of different endpoints. I successfully used the one where you add the city name into the endpoint string. But that is hard-coded. I would like a user to:
1. enter a zip code
2. get a city name (or lat/long coords)
3. use that data to add the city name into the weather api endpoint for city name
4. display weather - DONE
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View
Oh, okay let me try that...
Whew, I made a lot of changes but it finally worked - THANKS! I'm hard-coding the zip for now but I'll eventually add a form element to grab it to get the weather, although I assume I'll need another async/await function to get that. Although I do have navigator.geolocation to grab the users location and I can have that default to the initial weather maybe.
I send a support question to openweathermap about city names that are 2 works - I do not get ant data back. It appears that
%20
is inserted between the words. I searched their docs but did not see anything yet about how to handle that. I may have to get the users zip, get their lat/long and proceed that way.