Ожидание истечения времени или ввода
Функции ожидания предназначены для ожидания в течение определённого времени или до появления ввода. Например, может потребоваться приостановить вычисление, чтобы пользователь успел просмотреть отображаемую информацию. sit-for приостанавливает выполнение и обновляет экран, а затем немедленно возвращает управление, если поступает ввод, тогда как sleep-for приостанавливает выполнение без обновления экрана.
- Функция: sit-for seconds &optional nodisp
-
Эта функция обновляет отображение (если нет ожидающего ввода от пользователя), а затем ждёт seconds секунд или до появления ввода. Обычно
sit-forиспользуется, чтобы дать пользователю время прочитать отображаемый текст. Возвращаемое значение —t, еслиsit-forожидала всё указанное время и ввод не поступил (см. Различные возможности обработки ввода событий). В противном случае возвращаетсяnil.Аргумент seconds не обязательно должен быть целым числом. Если это число с плавающей точкой,
sit-forждёт дробное количество секунд. Некоторые системы поддерживают только целое число секунд; в таких системах значение seconds округляется вниз.Выражение
(sit-for 0)эквивалентно выражению(redisplay), то есть запрашивает обновление отображения без задержки, если нет ожидающего ввода. См. Принудительное обновление отображения.Если nodisp не равно
nil, тоsit-forне обновляет отображение, но всё равно возвращает управление, как только становится доступен ввод (или истекает время ожидания).В пакетном режиме (см. Пакетный режим)
sit-forнельзя прервать, даже вводом из стандартного дескриптора ввода. Таким образом, она эквивалентнаsleep-for, описанной ниже.
- Функция: sleep-for seconds
-
Эта функция просто приостанавливает выполнение на seconds секунд, не обновляя отображение. Она не реагирует на доступный ввод. Возвращает
nil.Аргумент seconds не обязательно должен быть целым числом. Если это число с плавающей точкой,
sleep-forждёт дробное количество секунд.Также можно вызвать
sleep-forс двумя аргументами, как в(sleep-for seconds millisec), но такой способ считается устаревшим и будет удалён в будущем.Используйте
sleep-for, если необходимо гарантировать задержку.
См. Время суток, чтобы узнать о функциях получения текущего времени.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Waiting.html