В статье 📃Проведение лотерейного розыгрыша на Power Apps рассматривалось применение двойного таймера. Сейчас хотелось бы акцентировать внимание на применении таймера. Один из случаев, когда без него не обойтись, - это вынужденная эмуляция загрузки компонентов и их содержимого (особенно различных списков для компонентов, пользователей из Office365 и т.д.). Когда ваше Power APPS приложение достаточно "жирное", то прогрузка всех элементов в браузере требует времени. Эмуляция загрузки позволит создать вынужденную паузу, а для пользователя приложения это всего лишь пауза в виде наблюдения ползущей полоски прогресс-бара (progressbar). Давайте правильно опишем переменные для таймера.

Задача решается достаточно просто. Сначала надо создать переменную boolean типа. Для примера пусть это будет vDelay:

Set(vDelay,false)

Я обычно прописывал такую инициализацию в блок загрузки приложения - App на событие OnStart

Далее, разместим 3 компонента для наглядности: Timer, ProgressBar, 2 кнопки Button (Start, Stop). А теперь остается прописать свойства и методы. Для progressbar Max выставляем значение равное желаемому времени эмуляции загрузки, скажем 5 сек. (значение 5000).  Значение Duration (длительность) для Timer выставляем также 5000. 

Далее для кнопки Start на OnSelect указываем:

UpdateContext({vDelay:true})

А для кнопки Stop на OnSelect указываем:

UpdateContext({vDelay:false})

Это минимум, который нужно сделать. Далее по желанию, чтобы по окончанию работы таймер скрыть ProgressBar, то на свойство Visible укажите переменную vDelay. Тоже самое можно сделать с формой, выставив ей такое же свойство. А Timer можно скрыть с экрана визуализации (Visible в false), т.к. этот компонент в нашем случае не нужен на формах приложения. 

У Timer есть свои дополнительные возможности для триггерных событий (например, OnTimerStart, OnTimerEnd) где вы дополнительно можете что-то прописать в части каких-то реакций на активную фазу работы таймера.