У меня есть подобная функция:
function addressToCoords(local) {
var address = local;
var result = '';
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == 'OK') {
result = results[0].geometry.location;
} else {
console.log('Error: ' + status);
result = '';
}
alert('Result is '+result);
});
alert('Result2 is '+result);
return result;
}
Так как для выполнения геокодирования необходимо некоторое время, сначала выводится сообщение "Result2 is ", и только после этого сообщение "Result is {координаты}" , ну и функция возвращает пустышку вместо {координат}. Как я понимаю, я должен сделать так, чтобы функции выполнялись асинхронно. Вижу в документации js на сайте мозиллы подобный пример:
async function f() {
return 1;
}
f().then(alert);
Но как быть в моем случае с geocoder.geocode...?