Tengo una función que tomará el nombre de una ciudad como entrada y devuelve una promesa que se resolverá con el resultado de una llamada a la API que devuelve el clima actual de la ciudad y la rechaza si la llamada a la API falla o la cadena de entrada no es válida.
Cuando llamo a la función, adjunto los controladores .then y .catch para detectar cualquier error y la consola registra la respuesta de la llamada a la API.
¿Hay alguna manera de hacer lo que hacen los controladores .then y .catch dentro del propio cuerpo de la función para que pueda simplemente llamar a la función sin adjuntar esos controladores?
const cityWeather = (city) => { return new Promise((resolve, reject) => { if (typeof city !== 'string') reject(Error('not a string')) axios.get(`http://api.weatherapi.com/v1/current.json?key=${api_key}&q=${city}&aqi=no`).then((response) => { const {data: {current}} = response resolve(current) }).catch((err) => reject(err)) }) } cityWeather(44).then((response) => console.log(response)).catch((reason) => console.log('hello'))