Привет, вижу решение проблемы тремя способами:
1) getCurrentPosition будет таким
getCurrentPosition () {
return new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(position => {
resolve(position.coords)
});
})
}
а mounted таким
async mounted() {
this.getCurrentTime()
const coords = await this.getCurrentPosition()
this.getCurrentWeather(coords)
setInterval(() => this.getCurrentWeather(), 2000)
},
если this.lat и this.long только нужны для вызова getCurrentWeather в mounted, то и незачем их класть в data
2) поставить watch this.lat и this.long и как только появится значение вызывать getCurrentWeather
3) Создать промис (new Promise) и resolve не вызывать сразу а поместить в переменную. Промис поместить в mounted, с await. А переменную с ссылкой на resolve вызвать в getCurrentPosition после того как получил координаты. Так как этот вариант не самый идеальный, код выкладывать не буду. Будет стимул поискать самому))