sleep() 的 JavaScript 版本是什么?
技术问答
309 人阅读
|
0 人回复
|
2023-09-12
|
有没有sleep比以下pausecomp设计 函数(取自此处)更好的方法JavaScript 中的 a?" P- i, P4 Q& g e8 F
6 J2 l( n9 _% y( G2 H4 _- function pausecomp(millis){ var date = new Date(); var curDate = null; do { curDate = new Date(); while(curDate-date 这不是JavaScript 中 Sleep 的重复 - 动作之间的延迟;我想在函数中间真正的睡眠,而不是代码执行前的延迟。
, ?, |, w9 {% [8 @ - 4 n. \, P$ o: P8 z; S
- 解决方案:
9 c3 x5 O1 P/ L) S7 b) I: q$ y - 在 JavaScript 中,我重写了每个函数,以便它能尽快结束。您希望浏览器能够重新获得控制权,以便更改您的 DOM。9 s3 @" L& n# S) u8 p, w
- 每次想睡在函数中间,我都会重构使用它setTimeout().
& U+ }" T, L; }1 Z! j$ L - 编辑任何语言中臭名昭著的睡眠或延迟功能都是有争议的。有些人会说,该总是有一个信号或回调来触发给定的功能,而其他人则会争论任何延迟有时都是有用的。我说,对每个人来说,一条规则永远不会决定这个行业的任何事情。: J: y* C% E4 Q6 U- `6 f
- 编写一个 sleep 函数非常简单,通过 JavaScript Promises 变得更有用:[code]// sleep time expects millisecondsfunction sleep (time) { return new Promise((resolve) => setTimeout(resolve,time));}// Usage!sleep(500).then(() => / Do something after the sleep!});
4 i; z9 U) i+ R% p: i8 N1 {
|
|
|
|
|
|