Допустим, я асинхронно загружаю какой-то скрипт (в моем случае карты Google) со службой, которая вернет обещание и разрешит его по окончании загрузки.
Я делаю это, потому что нехочу добавить скрипт в index.html
(мне нужен динамический ключ API, и я хочу загрузить скрипт карты только в том случае, если пользователь переходит к компоненту, использующему карту).
Как мне реализовать какой-либо методкоторый будет работать, только если скрипт завершил загрузку?
В настоящее время я могу сделать что-то подобное в my-map.component.ts
:
ngOnInig() {
this.promiseReturningScriptLoader();
}
...
async doSomethingWithMap() {
await this.promiseReturningScriptLoader();
// Actual mplementation
}
Но значит ли это, что мне придется ждать обещаний в начале каждого публичного метода?Не выглядит красиво.
У кого-нибудь есть лучшее решение?
Спасибо!