在没有警告的情况下强制同步XMLHttpRequest / Ajax

时间:2016-06-13 22:00:02

标签: javascript jquery ajax xmlhttprequest

很明显synchronous has been deprecated,因为它对用户体验不利。

  

主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。如需更多帮助http://xhr.spec.whatwg.org/

我们都知道。但我仍然希望在开发方面将它用于与用户体验完全不同的东西。我知道他们不想使用它,但为什么删除该功能?这些东西应该可以通过"非默认"通过选项符号化器配置。国际海事组织有一天会被撤销。

无论如何,问题是:我可以使用什么样的hack来模拟同步Ajax或XMLHttpRequest,而不会收到警告消息?我的假设是,一旦完全弃用它,它最终将无法在浏览器中运行。

1 个答案:

答案 0 :(得分:0)

修改此解决方案不起作用。我会将其留在这里以阻止尝试类似的方法。如果有人能够找到可行的解决方案,我会删除这个答案。

如果你真的想假冒同步ajax请求,你可以使用jQuery的.delay()函数,并继续检查异步请求是否完整。

function fakeSynchronous(ajaxSettings) {
  var promise = $.ajax(ajaxSettings);
  while (promise.state() === "pending") {
    $("html").delay(1000);
  }
}