
// 超时版的fetch
_fetch(fetch, timeout) {
return Promise.race([
fetch,
new Promise(function (resolve, reject) {
setTimeout(() => reject(new Error('request timeout')), timeout);
})
]);
} // 使用
_fetch(fetch('url'), 1000).then((info)=> {
return info.text();
}).then((info)=> {
console.log(info);
}).catch((err)=> {
throw new Error(err);
});
_fetch(fetch(url, {
method: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: `key1=value1&key2=value2&key3=value3...`
}), 10000).then((info)=> {
return info.text();
}).then((info)=> {
console.log(info);
}).catch((err)=> {
throw new Error(err);
});