前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >嘭,setTimeout炸了

嘭,setTimeout炸了

作者头像
歪马
发布于 2020-04-07 03:27:14
发布于 2020-04-07 03:27:14
48000
代码可运行
举报
文章被收录于专栏:歪码行空歪码行空
运行总次数:0
代码可运行

~欢迎点击上方蓝字「歪码行空」快速关注~


今天要说的很简单,没有setTimeout的基本用法,也没有什么特殊用法。

就是想记录一下setTimeout的一个特殊情况,分享给可能也不知道的你们。

setTimeout的基本写法大家都不陌生,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setTimeout(() => {
    // 说,你倒计时想干什么
}, millisecond)

其中第二个参数是需要延时执行的毫秒数,大家应该都知道这个时间是不准确的,可以理解为最短延时。至于为什么是不准确,事件循环了解一下。

但是这个最短延时也会骗人,因为它可能会爆炸 ?。

今天跟测一个项目,前端需要通过延时的方式去显示某课程是否开始,未开始展示倒计时界面,倒计时至开始时去掉倒计时界面,拉取主体内容。

但是测试小姐姐反馈说她的课程没有开始,没有显示倒计时,直接就显示主内容。并且没有复现步骤,只此一例。

我表示很诧异,但是也没办法。于是使出十八般武艺,开始在测试环境打断点调试,分析代码逻辑。好半天之后,纳尼,逻辑肯定是对的,我相信我的判断。

然后我突然开始怀疑setTimeout的倒计时时间问题。于是开始查,最后查到了原因,真的是这货的锅,它因为延时时间过长,炸了。

这就是今天的重点:setTimeout 的延时毫秒数是有限制的millisec 参数是 Int32 类型的,最大值为 2^32 - 1,即 2147483647。一旦超过这个限制,millisec 参数将被视为 0,代码会被立马执行

setInterval 也一样,毫秒数过大会被当做 0,立即执行。

看完之后,以后如果你也遇到setTimeout失灵的情况,记得想起这茬。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 歪码行空 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Java发送HTTPS请求
上篇文章介绍了 java 发送 http 请求,大家都知道发送http是不安全的 。我也是由于对接了其他企业后总结了一套发送 https的工具。大家网上找方法很多的,但是可不是你粘过来就能用啊,我也是踩过坑的,所以我这个工具,只要粘贴到你们自己项目里就可以用。我的工具跟网上没什么区别,唯一的区别是我亲身实战过,把需要注意的细节列出来,不让大家浪费时间。
胖虎
2019/06/26
5.3K0
【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证
由于是本地测试,请修改本地host文件C:\Windows\System32\drivers\etc\host
肖哥哥
2019/02/22
1.8K0
【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证
java模拟http/https post请求
之前每次代码执行到上述代码的第二行的时候,会等一段时间然后会捕获到Exception异常。
翎野君
2023/05/12
1.1K0
java模拟http/https post请求
写一个BASIC认证的https协议
仅供参考,转载请注明出处,谢谢 /**      * BASIC认证的https      * @param urlStr https请求的地址      * @return      */     public static String get(String urlStr) {         log.info("url-->" + urlStr);         String rs = "";         StringBuffer buffer = new StringBuf
用户1215919
2018/02/27
7750
《历史代码分析》4、发起Http请求
此工具类应该是复制网络上的某博主的代码,只能说简单好用,提供了常用的请求方法。但是,目前推荐使用开源的Hutool工具库,它包含许多常用的操作,提高开发效率,内网开发除外。
小码农薛尧
2025/03/10
860
《历史代码分析》4、发起Http请求
微信 开发诡异的40029错误invalid code错误 443 failed to respond错误的解决办法
大家好,又见面了,我是你们的朋友全栈君。 情景:使用静默授权或感知授权的方式将请求绑定到微信公众号的菜单栏上。链接如下: https://open.weixin.qq.com/connect/oaut
全栈程序员站长
2022/06/29
2.5K0
微信 开发诡异的40029错误invalid code错误 443 failed to respond错误的解决办法
Restful 介绍及SpringMVC+restful 实例讲解
restful不是一个框架,称为一种编码更烦更贴切吧,其核心类位于spring-web.jar中,即RestTemplate.class
肖哥哥
2019/02/22
5040
Restful 介绍及SpringMVC+restful 实例讲解
百度人脸识别API Java调用
工具类下载http://pan.baidu.com/s/1jIuo0N8 小Demo查询。 1.官网文档必须看 http://ai.baidu.com/docs 2.在管理中心创建应用及查看相关参数
小帅丶
2018/02/08
4.3K0
百度人脸识别API Java调用
Web服务器与客户端三种http交互方式
近期在对接项目时用到http方式与第三方交互数据,由于中间沟通不足导致走了不少弯路,至此特意花了点时间总结服务端与客户端数据交互的方式,本地搭建两个项目一个作为服务端,一个作为客户端。post可以有两种方式:一种与get一样,将请求参数拼接在url后面,这种服务端就以request.getParameter获取内容;另一种以流的方式写入到http链接中,服务端再从流中读取数据,在HttpURlConnection中分别用到了GET、POST请求方式,HttpClient以及commons-httpClient均以POST请求为例。
Jack Chen
2018/09/14
2.8K0
Web服务器与客户端三种http交互方式
https httppost ssl单向验证,json格式传输 java案例
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106088.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
5310
httpclient4.x访问https[通俗易懂]
https有单向认证和双向认证之分,单向认证即客户端只会认证服务端,双向认证是客户端需要认证服务端,服务端也需要认证客户端。
全栈程序员站长
2022/09/15
9430
【胖虎的逆向之路】Android自制Https证书实现双向认证
Hyper Text Transfer Protocol ,超文本传输协议, 是互联网使用最广泛的一种协议,所有的WWW文件必须遵循的标准,Http协议传输的数据都是未加密的,也就是明文,因此使用Http传输敏感协议是不安全的。
胖虎哥
2024/01/03
1.2K0
Mac中使用Mitmproxy/Charles拦截移动设备网络请求
拦截http proxy的软件很多,如 Fiddler,Charles等,能够实现对http通信的拦截,可以查验Request和Response参数,特别是移动设备快速普及,此类软件逐渐被用于移动设备APP的网络请求拦截。
码客说
2019/10/22
2K0
Mac中使用Mitmproxy/Charles拦截移动设备网络请求
android 安装p12证书,如何在Android中使用p12证书(客户端证书)
我试图在android中使用客户端证书。 我得到了一个.p12文件,我想用它来对服务器进行身份验证。如何在Android中使用p12证书(客户端证书)
全栈程序员站长
2022/09/13
2.7K0
android https安全连接
如果不需要验证服务器端证书,直接照这里做 public class Demo extends Activity {   /** Called when the activity is first created. */ private TextView text;   @Override public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);         
xiangzhihong
2018/02/01
1.6K0
Springboot2整合openFegin客户端(文件上传)
最近项目需要搭建一个项目,需求是使用已经存在的上传接口,使用fegin实现功能。现在可以把步骤分享一下,经测试可用。
用户5640963
2021/01/30
9200
java HttpsURLConnection 实现https请求
转自:http://www.blogjava.NET/etlan/archive/2006/06/29/55767.html 摘 要 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问。但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点。本文在简要介绍JSSE的基础上提出了两种解决该问题的方法。   引言   过去的十几年,网络上已经积累了大量的Web应用。如今,无论是整合原有的Web应用系统,还是
wuweixiang
2018/08/14
2.4K0
java HttpsURLConnection 实现https请求
一桩由ssl证书过期引起的血案
公司全部站点升级了https,升级过程由同事们完成,我没有过问细节。ssl证书使用的是阿里云 的【Symantec免费版 SSL】一年免费。
王小宝
2018/07/06
2.4K0
一桩由ssl证书过期引起的血案
【Java爬虫】005-HttpClient学习笔记(补充:网页内容获取相关)
使用HttpClient可设置三种超时时间:RequestTimeout(获取连接超时时间)、ConnectTimeout(建立连接超时时间)、SocketTimeout(获取数据超时时间)。配置这三种超时时间,需要用到HttpClient的RequestConfig类中的方法custom(),该方法返回值为实例化的内部类Builder(配置器),其功能是配置先关请求的字段,还可以设置代理(proxy)、Cookie规范(cookieSpec)、是否允许HTTP相关认证等;
訾博ZiBo
2025/01/06
1000
RestTemplate调用https接口跳过证书验证
import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.nio.charset.StandardCharsets; import java.security.cert.Certific
JQ实验室
2022/02/10
2.5K0
推荐阅读
相关推荐
Java发送HTTPS请求
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档