Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как сделать функцию асинхронной, если она состоит из нескольких функций в js? (https://javascript.ru/forum/css-html/83365-kak-sdelat-funkciyu-asinkhronnojj-esli-ona-sostoit-iz-neskolkikh-funkcijj-v-js.html)

voraa 24.11.2021 08:02

В документации
https://developers.google.com/maps/d...rence/geocoder
сказано, что сама geocode возвращает Promise с результатом.
Тогда эти функции можно так переписать

async function Geocode(params) {
     alert('asyncGeocode started with params: '+params);
	let resp = await geocoder.geocode(params);
        return resp.results;
}
 
async function addressToCoords(loc) {
  var results = await async Geocode({address: loc}).catch(status => {
				console.log('Error: ' + status);
				return '';
			});
  alert('Result is ' + results);
  return results;
}

Правда, непонятно, что с ошибкой, где status возвращается. В документации не слова

Aetae 24.11.2021 13:38

voraa, как ты в эти доки попал? Я не юзаю доки гугла обычно и дотыкать до референс вообще сходу не смог без прямой ссылки.)

voraa 24.11.2021 16:06

Цитата:

Сообщение от Aetae
voraa, как ты в эти доки попал?

Google "geocoder.geocode"
Ну и там первые ссылки
А потом по их ссылкам.

Aetae 24.11.2021 16:27

Цитата:

Сообщение от voraa (Сообщение 541823)
Google "geocoder.geocode"
Ну и там первые ссылки
А потом по их ссылкам.

Дык я так и сделал. С той же целью, посмотреть может там есть промис из коробки.)
Пару минут потыкал, плюнул и забил, вникать и прямо читать весь этот мусор лень было.)
Хреновый UX. =\


Часовой пояс GMT +3, время: 22:46.