I'm learning Javascript and Node.js.
I am trying to return the body of the response by using node-fetch but I received an undefined output.
Is there any way that I can get the body returned?
const express = require('express')
const router = express.Router()
const fetch = require('node-fetch');
router.get('/', (req, res) =>{
let zipcode = req.query.zipcode;
let temp = getGeoCode(zipcode);
console.log(temp);
**//here returns promise<pending>**
temp.then(function(result){
console.log(result);
**//here returns undefined**
})
async function getGeoCode(zipcode){
await fetch(`https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-zip-code-latitude-and-longitude&q=${zipcode}&facet=state&facet=timezone&facet=dst&refine.state=MA`)
.then(
res =>res.json()
)
.then(json => {
res.send(`The lon and lat in your zipcode "${zipcode}" - ${json.records[0].fields.city}, ${json.records[0].fields.state} is ${json.records[0].fields.longitude}, ${json.records[0].fields.latitude}.`)
**//Here works well!!!**
})
.catch(error =>{
console.log(error)
})
}
})