CNode

浏览器端 JS 代码怎样 block 自身的执行并且能恢复?

Jjiyinyiyong发布于13 年前最后回复13 年前2 回复4324 浏览0 收藏

想... 我等待 websocket 传回数据期间 JS 对执行过程进行中断, 等到数据传送完成再继续执行余下的代码, 想了半天没找到方案,, 用 XMLHttpRequest 的话对于同步的 request 是不能设置 timeout 的, 而 while 死循环无法接受... 不知道还有 JS 代码实现上的方案可以找么

查看回复

回复 (2)

S
shiedman#1·13 年前

中断执行无外乎暂时禁止用户输入,或者等待服务器返回数据以更新界面。一般来说常见的处理方法不是弹出个waiting提示框之类的,然后在数据返回后取消此提示框吗。 另外就算不能设置timeout,完全可以setTimeout(function(){//中断XMLHttpRequest ......

J
jiyinyiyong#2·13 年前
引用 shiedman中断执行无外乎暂时禁止用户输入,或者等待服务器返回数据以更新界面。一般来说常见的处理方法不是弹出个waiting提示框之类的,然后在数据返回后取消此提示框吗。 另外就算不能设置timeout,...

是比较少见的场景.. 我尝试用 websocket 来实现浏览器端模块加载 因为需要在 require('filename') 的时候等待请求返回的数据, 必须整个卡住 JS, 为了兼容 Node 上的常用规范语法, 我才去想这种邪门的东西... .. 现在想想应该改变的是 Node 才对..

参与回复
登录后即可参与回复。登录