社区
Ajax
帖子详情
js 怎么 单线程 执行代码
跑跑鱼
2010-11-18 11:27:50
在extjs里边有个for 循环,循环里边有store.load(),store还没有load完,for循环就执行下次的了,请问怎么解决?
...全文
272
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(),当然你可以实现个简单的。
详细分析
单线程
JS
执行
问题
大家在学习javascript的时候很多朋友在
执行
问题上有疑惑,小编通过本篇文章给大家详细的分析介绍了
JS
的
执行
问题,希望能够帮助到你理解。 一、介绍 随着
js
不断学习,你可能会慢慢的好奇,用了这么久的
js
,却不知道这
js
在浏览器怎么被
执行
的,很尴尬。所以,我查阅很多资料来总结
JS
的
执行
过程,也分享出来,和大家一起学习。 本篇主要讲
单线程
的
JS
涉及的名词:
JS
引擎,
单线程
,
执行
栈,
执行
上下文(execution context) 二、
JS
引擎
JS
引擎是浏览器的重要组成部分,主要用于读取并
执行
js
。就是这家伙
执行
js
的,但它不止于
执行
js
。 各大浏览器的
JS
引擎: 浏览器
Js
引擎 Chro
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之类的并没有阻
Concurrent.Thread.
js
Concurrent.Thread.
js
是用来让javascript也进行多线程开发的包,可以让我们将耗时的任务利用前端来模拟多线程。主要是为了解决浏览器死卡的现象,当一个函数
执行
非常浪费时间和内存的时候,给另外开辟一个线程。因为javascript是
单线程
,会阻塞。这时候我们引入这个库文件,可以使
代码
不阻塞哦,应用方法主要是create方法创建一个
单线程
。
Ajax
52,797
社区成员
25,305
社区内容
发帖
与我相关
我的任务
Ajax
Web 开发 Ajax
复制链接
扫一扫
分享
社区描述
Web 开发 Ajax
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章