function _f(url,time) {
return new Promise((resolve, reject) => {
fetch(url).then(r=>{
resolve(r.json())
})
.catch(()=>{
reject("请求错误!");
})
setTimeout(()=>{
reject("请求超时")
},time);
})
}
_f("https://api.github.com/users",5000)
.then(data=>{
console.log(data);
})
封装请求超时代码,利用Promise对象来封装 如果请求时间不超过time,走resolve 之后.then来获取data数据。 如果走到定时器到reject fetch还没获取resolve 则提示请求超时!