考了一下古,类似的问题,似乎在2D的旧版本中也有
事实上,即使我把网络关掉,安卓上面HTTP请求也还是不会正常的终止下来
考了一下古,类似的问题,似乎在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() {...}
吗?