安卓下3D的XMLHttpRequest设置超时无效

考了一下古,类似的问题,似乎在2D的旧版本中也有

事实上,即使我把网络关掉,安卓上面HTTP请求也还是不会正常的终止下来

我的代码如下(在安卓上,不能正常的处理出错信息)

_get(url: string) {
var request = new XMLHttpRequest();

request.timeout = 5000;

request.open('GET', url, true);

return new Promise((resolve, reject) => {
  request.onreadystatechange = () => {
    if (request.readyState !== 4) {
      return;
    }

    if(request.status >= 200 && request.status < 300) {
      resolve(request.responseText);
    } else {
      reject(request.status);
    }
  }

  request.send();
});

}

暂时自己通过setTimeout模拟了一下超时

_get(url: string) {
var request = new XMLHttpRequest();

request.timeout = 5000;
request.open('GET', url, true);
return new Promise((resolve, reject) => {
  var succeeded = false;
  setTimeout(() => {
    if (!succeeded) {
      reject(0);
    }
  }, 5100);
  request.onreadystatechange = () => {
    if (request.readyState !== 4) {
      return;
    }
    if(request.status >= 200 && request.status < 300) {
      succeeded = true;
      resolve(request.responseText);
    } else {
      reject(request.status);
    }
  }
  request.send();
});

}

ding 1111111111111

有试过设置

request.ontimeout = function() {...}

吗?