sleep() 的 JavaScript 版本是什么?
技术问答
329 人阅读
|
0 人回复
|
2023-09-12
|
有没有sleep比以下pausecomp设计 函数(取自此处)更好的方法JavaScript 中的 a?9 c3 H( D/ e( J% m- S
. W8 F2 g' h6 y) ]+ C+ E; E4 E/ q( Y
- function pausecomp(millis){ var date = new Date(); var curDate = null; do { curDate = new Date(); while(curDate-date 这不是JavaScript 中 Sleep 的重复 - 动作之间的延迟;我想在函数中间真正的睡眠,而不是代码执行前的延迟。3 U0 V2 s( G _& [/ w
- $ w0 v# d! ^6 s3 r6 P$ h7 h
- 解决方案:
0 J; F' {& b& T B! h - 在 JavaScript 中,我重写了每个函数,以便它能尽快结束。您希望浏览器能够重新获得控制权,以便更改您的 DOM。
+ e6 ~' |) J' J5 F - 每次想睡在函数中间,我都会重构使用它setTimeout().6 ]) e1 x- r2 l
- 编辑任何语言中臭名昭著的睡眠或延迟功能都是有争议的。有些人会说,该总是有一个信号或回调来触发给定的功能,而其他人则会争论任何延迟有时都是有用的。我说,对每个人来说,一条规则永远不会决定这个行业的任何事情。
: y" I6 T; H D - 编写一个 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!});
0 G$ k. O e7 P0 K |
|
|
|
|
|