{#await ...}
{#await expression}...{:then name}...{:catch name}...{/await}
{#await expression}...{:then name}...{/await}
{#await expression then name}...{/await}
{#await expression catch name}...{/await}
Блоки await
позволяют разделять выполнение на три возможных состояния Promise
— ожидающий (pending), выполненный (fulfilled) или отклонённый (rejected):
{#await promise} <!-- promise находится в состоянии ожидания --> <p>ожидание выполнения promise...</p>{:then value} <!-- promise был выполнен или не является объектом Promise --> <p>Значение: {value}</p>{:catch error} <!-- promise был отклонен --> <p>Произошла ошибка: {error.message}</p>{/await}
Блок catch
можно опустить, если вам не нужно ничего отрисовывать в случае отклонения promise (или если ошибка невозможна):
{#await promise} <!-- promise находится в состоянии ожидания --> <p>ожидание выполнения promise...</p>{:then value} <!-- promise был выполнен --> <p>Значение: {value}</p>{/await}
Если вам не важен статус ожидания, вы также можете опустить начальный блок:
{#await promise then value} <p>Значение: {value}</p>{/await}
Аналогично, если вы хотите отображать только состояние ошибки, вы можете опустить блок then
:
{#await promise catch error} <p>Произошла ошибка: {error}</p>{/await}