关于setinterval和js单线程的困惑

发布于 2022-09-12 13:05:03 字数 142 浏览 16 评论 0

我的个人理解

JavaScript是单线程的,使用setinterval是定时给这个单线程添加事情,那么我使用两个setinterval去请求两个不同的数据接口,就不会存在并发,按队列顺序请求数据,那么为什么使用setinterval去请求数据接口会出现卡顿

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

锦上情书 2022-09-19 13:05:03

什么卡顿?网络在pending?还是页面卡顿?
你setInterval怎么写的 你要实现什么效果?
最好贴出相应的代码 可以分析

挽容 2022-09-19 13:05:03

js多线程需要web worker配合,写多少个setInterval都不会造成多线程,所有任务都会依次排队进行,页面卡顿纯粹是循环调用的太频繁,或者接口过慢。

烟燃烟灭 2022-09-19 13:05:03

JS 处理异步任务的方式类似于,在等电饭锅焖米饭的时间段里你可以炒菜,而不是傻等米饭焖好才去炒菜。
但是你的能力终归是有极限的,如果让你焖几十锅饭,这边米还没淘好,那边饭都糊了,这时候你就“卡顿”了。
setInterval + XHRHTTPRequest 恰似隔一小会就让你再焖一锅米饭。而同页面同域名可以并发的请求数量是有限的,chrome 貌似是六个请求,等于你只有六个电饭锅,但是做饭的任务一直在增加。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文