22.10 等待时间流逝或输入

等待函数用于等待指定时长,或等待输入到来。例如,你可能希望在计算过程中暂停, 让用户有时间查看显示内容。sit-for 会暂停并刷新屏幕,有输入时立即返回; 而 sleep-for 只会暂停,不刷新屏幕。

Function: sit-for seconds &optional nodisp

该函数执行刷新显示(前提是没有来自用户的待处理输入),然后等待 seconds 秒, 或直到有输入可用。sit-for 的通常用途是让用户有时间阅读你显示的文本。 如果 sit-for 完整等待了指定时间且没有输入到达,则返回 t (see 事件输入的杂项功能)。否则返回 nil

参数 seconds 不必是整数。如果是浮点数,sit-for 会等待小数秒。 部分系统只支持整数秒,在这些系统上 seconds 会向下取整。

表达式 (sit-for 0) 等价于 (redisplay), 即在没有待处理输入时,立即请求刷新显示,无延迟。 See Forcing Redisplay

如果 nodispnil,则 sit-for 不刷新显示, 但仍会在有输入(或超时)时立即返回。

在批处理模式下(详见 see Batch Mode),sit-for 无法被中断, 即使是来自标准输入描述符的输入也不行。此时它等价于下面介绍的 sleep-for

Function: sleep-for seconds

该函数仅暂停 seconds 秒,不刷新显示,也不关注是否有输入可用。返回 nil

参数 seconds 不必是整数。如果是浮点数,sleep-for 会等待小数秒。

也可以用两个参数调用 sleep-for,即 (sleep-for seconds millisec), 但这已被视为过时用法,未来会被移除。

当你需要确保产生一段延迟时,使用 sleep-for

用于获取当前时间的函数,See Time of Day


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike