Tag: sjax

在javascript中阻止“等待”function?

作为我正在研究的Javascript项目的一部分,有一些同步的ajax调用(我猜这使它成为“sjax”,但我离题了) 。 我现在正在编写一个调试面板,它允许我通过包装$.ajax来测试一些人工模拟的网络条件。 简单的事情:伪造500响应等,并使ajax调用需要更长的时间。 对于异步调用,它很简单。 当真实响应返回时,添加一个setTimeout以使其在触发回调之前等待人工响应时间。 但是,这显然不适用于同步调用,因为setTimeout不是同步的。 那么,有没有办法让Javascript程序执行阻塞等待一段时间? 我唯一能想到的就是这样的事情: function wait(ms) { var start = +(new Date()); while (new Date() – start < ms); } 有更好的解决方案吗? (另外,请假设有一个很好的理由阻止ajax调用…… :-\ )