如何为IE创建`xhr.timeout` polyfill?

时间:2017-10-18 02:32:32

标签: javascript

目前我用它来防止错误:

var xhr = new XMLHttpRequest();
try {
  xhr.timeout = 5e3;
  xhr.addEventListener('timeout', reqListener);
} catch(e){}

当然,当浏览器不支持时,这只是删除了超时功能。我试过了:

if (typeof xhr.timeout !== 'number') {
  xhr.addEventListener('abort', reqListener, false);
  setTimeout(function(){
    xhr.abort()
  },5e3);
} else {
  xhr.timeout = 5e3;
  xhr.addEventListener('timeout', reqListener);
}

有更好的方法吗?

0 个答案:

没有答案