微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Javascript中设置时间限制以在引发错误之前从服务器获得响应?

如何解决如何在Javascript中设置时间限制以在引发错误之前从服务器获得响应?

我有一些Javascript代码,它们通过jQuery ajax调用从服务器中获取数据,即使它没有获得正确的数据,它似乎总是触发成功回调。错误回调永远不会像预期的那样被触发。我想为成功设置一个时间限制,因此如果无法足够快地获取数据,则会引发错误。我该怎么办?

解决方法

您尝试过功能吗? setTimeout();

用法:

setTimeout(function(){
    // a function you want to do
},timeLimit);
//timeLimit : time as miliseconds. 2000 means 2 seconds.
// example : 
setTimeout(function(){
    alert("Hello World");
},2000);
,

在对象上设置timeout property

const url = "https://cors-anywhere.herokuapp.com/http://example.com/";

const xhr = new XMLHttpRequest();
xhr.open("GET",url);
xhr.timeout = 5; // This is very small to demo it!
xhr.addEventListener("load",() => console.log("Loaded!"));
xhr.addEventListener("timeout",() => console.log("Timed out!"));
xhr.addEventListener("error",() => console.log("Error!"));
xhr.send();

,

在ajax中:

 $.ajax({
success: function(data){
    //Success code
},url: "your_url",error: function(data){
    //Error code
},timeout: 6000 // sets timeout to 6 seconds
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。