В общем, попробовал по аналогии с C#. Похоже, в TS тоже есть какая-то реализация 'await' и, судя по поведению, работает она похожим образом. Т.е. пока await-блок не завершится, следующий за ним оператор ожидает своей очереди. Последовательные (зависимые) http-вызовы при таком подходе записываются намного нагляднее. При этом сам метод возвращает управление после первого же 'await', а весь остальной хвостик продолжает выполнение параллельно.
----
//
await (async () => {
if (this.appConfig.authServerConfig != null) {
return null;
}
return this.httpClient.get("{auth}/.well-known/openid-configuration").toPromise().then((response:string) => {
this.appConfig.authServerConfig = response;
}, (error:HttpErrorResponse) => {
console.info(error);
});
})();
//
if (this.appConfig.authServerConfig == null) {
return;
}
//
console.info(this.appConfig.authServerConfig);