浏览器端 JS 代码怎样 block 自身的执行并且能恢复?
发布于 12 年前 作者 jiyinyiyong 3877 次浏览 最后一次编辑是 8 年前

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

2 回复

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

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

回到顶部