#std755¶
Длительные операции на клиенте¶
1.¶
Избегайте длительного выполнения клиентского кода.
Кроме длительных серверных вызовов (см. #std642: Длительные операции на сервере), к зависаниям интерфейса приводят и длительные операции на клиенте.
Не выполняйте потенциально длительные операции:
- обращение к сетевым ресурсам;
- трудоемкие алгоритмы обработки данных на клиенте.
Такие операции не должны запускаться в:
- обработчиках ожидания;
- обработчиках событий элементов формы.
Выполняйте длительную клиентскую операцию только по явному действию пользователя, например по нажатию кнопки.
1.1.¶
Неправильно
В обработчике ожидания обращаться к веб-сервису для получения информации об обновлениях.
Правильно
Получать информацию об обновлениях по нажатию кнопки, либо перенести получение на сервер:
- в регламентном задании получать информацию об обновлениях через веб-сервис и сохранять результат, например, в регистр;
- в обработчике ожидания читать уже сохраненные данные легким запросом к регистру.
1.2.¶
Неправильно
Проверять доступность сетевого ресурса в обработчике события ПриИзменении поля формы, в котором вводится путь к этому ресурсу.
Правильно
Проверять доступность сетевого ресурса в обработчике команды, выведенной в интерфейс, например, по кнопке Проверить.