社区
Ajax
帖子详情
js 怎么 单线程 执行代码
跑跑鱼
2010-11-18 11:27:50
在extjs里边有个for 循环,循环里边有store.load(),store还没有load完,for循环就执行下次的了,请问怎么解决?
...全文
288
11
打赏
收藏
js 怎么 单线程 执行代码
在extjs里边有个for 循环,循环里边有store.load(),store还没有load完,for循环就执行下次的了,请问怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
跑跑鱼
2010-11-23
打赏
举报
回复
楼上的是递归吧
碧海情天-赵亮
2010-11-22
打赏
举报
回复
function 回调函数A(){
设置退出条件(参照你原来FOR的条件),满足即return;,不再调用
store.load(,,回调函数A);
}
回调函数A(); //开始执行,在满足结束条件之前就会重复调用,完成你要的结果
碧海情天-赵亮
2010-11-22
打赏
举报
回复
[Quote=引用 8 楼 jsjxieyang 的回复:]
设置while循环,浏览器就会提示运行缓慢。换个for。
而且这个多线程,你设置循环,他会不会再起一个线程啊?
[/Quote]
循环的意思你没搞错。循环有很多种,不只是表面while,for那样。
把你现在的for或while的都注释掉
function 回调函数A(){
设置退出条件(参照你原来FOR的条件),满足即return;,不再调用
store.load(,,回调函数A);
}
跑跑鱼
2010-11-21
打赏
举报
回复
设置while循环,浏览器就会提示运行缓慢。换个for。
而且这个多线程,你设置循环,他会不会再起一个线程啊?
碧海情天-赵亮
2010-11-20
打赏
举报
回复
[Quote=引用 6 楼 jsjxieyang 的回复:]
load确实有回调函数
[/Quote]
必须的了。设置回调函数,在回调函数里再调用store.load()就行了,注意设置条件防止死循环。
跑跑鱼
2010-11-20
打赏
举报
回复
load确实有回调函数
Mr-Jee
2010-11-20
打赏
举报
回复
其实load是内嵌了异步加载。
hch126163
2010-11-19
打赏
举报
回复
for 是同步的。你的 store.load 方法是异步的
那你不用for 循环,你可以在
store.load() 完成后再加载下一个撒!
luojihaidao
2010-11-18
打赏
举报
回复
没有用过extjs这东西。听你说的, store.load()应该有用到setInterval()或setTimeout()方法。
这两个方法应该都不能实现你说的同步。
不过你可以在用信息量来控制setInterval()或setTimeout(),当然你可以实现个简单的。
理解javascript定时器中的
单线程
主要帮助大家理解javascript定时器中的
单线程
,感兴趣的小伙伴们可以参考一下
详细分析
单线程
JS
执行
问题
给大家详细讲解一下
单线程
javascript的
执行
问题,以及通过实例分析用法。
JavaScript
单线程
和任务队列原理解析
这篇文章主要介绍了JavaScript
单线程
和任务队列原理解析,文中通过示例
代码
介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、JavaScript为什么设计为
单线程
? JavaScript语言的一大特点就是
单线程
,换言之就是同一个时间只能做一件事。 for(var j = 0; j < 5; j++) { console.log(j); } console.log('end'); 上面的
代码
,只有for循环
执行
完毕,才会
执行
end; JavaScript的
单线程
,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途就是与用户互动,以及操
实例分析javascript中的异步
js
异步解析 一 、
js
单线程
分析 我们都知道
js
的一大特点是
单线程
,也就是同一时间点,只能处理一件事,一句
js
代码
。那为什么
js
要设计成
单线程
而不是多线程呢?这主要和
js
的用途有关,
js
作为浏览器端的脚本语言,主要的用途为用户与服务端的交互与操作dom。而操作dom就注定了
js
只能是
单线程
语言。假如
js
才取多线程将会出现,多个线程同时对一个dom进行操作的情况,浏览器将无法判断如何渲染。不仅
js
是
单线程
,浏览器渲染dom也是
单线程
的,
js
的
执行
和浏览器渲染dom共用的一个线程,这就导致了在html
代码
中书写
js
代码
会造成浏览器端渲染的阻塞。例如:在html某个位置,写一个段带
在实例中重学JavaScript事件循环
单线程
的
JS
众所周知
js
是一门
单线程
语言,即同一时间只能做一件事。为什么
js
是
单线程
的呢,主要与它的用途有关。 作为浏览器脚本语言,
js
的主要用途是和用户互动&操作DOM,我们并不想并行的操作DOM。如果不是
单线程
的话,我们一个线程在给DOM节点上添加内容,另一个线程却删除了这个节点,到底该以哪个为准呢? 所以为了避免复杂性,从一诞生,JavaScript 就是
单线程
。 事件循环(event loop)
JS
是一门
单线程
语言,意味着
代码
要一行一行的
执行
。所有任务都要排队,前一个任务结束,才会
执行
后一个任务。 但平时大家开发时常用到的ajax,setTimeOut,promise之类的并没有阻
Ajax
52,784
社区成员
25,335
社区内容
发帖
与我相关
我的任务
Ajax
Web 开发 Ajax
复制链接
扫一扫
分享
社区描述
Web 开发 Ajax
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章