gpt4 book ai didi

javascript - 超时获取 - React Native

转载 作者:行者123 更新时间:2023-12-03 02:47:04 25 4
gpt4 key购买 nike

我正在使用 fetch API 来访问其余服务器。如果服务器出现故障,我需要将超时设置为 30 秒并显示“超时发生”等警报。

我的 Fetch 调用

 fetch('url', {
method: "POST",
headers: {

'Accept': '*/*',
'Content-Type': 'application/json',
},
body: JSON.stringify(objReq)
})
.then(response => response.text())
.then(responseJson => {
if (responseJson != null && responseJson != undefined) {
})
.catch(error => {
alert(error + " from error")
console.error(error);
});

我无法正确设置超时。是否有一种简化的方法来实现超时。有关在调用 API 之前检查互联网连接的任何建议。

最佳答案

引用的答案是可行的方法,但可能需要清理以使用部分应用程序(关闭):

const withTimeout = time => promise =>
Promise.race(
[
promise,
new Promise(
(resolve,reject)=>
setTimeout(
_=>reject("Timeout happened")
,time
)
)
]
);
const in30Seconds = withTimeout(30000);

in30Seconds(
fetch('url', {
method: "POST",
headers: {
// 'x-nanobnk-auth': this.token,
'Accept': '*/*',
'Content-Type': 'application/json',
},
body: JSON.stringify(objReq)
})
)
.then(response => response.text())
.then(responseJson => {
if (responseJson != null && responseJson != undefined) {

}
})
.catch(error => {
alert(error + " from error")
console.error(error);
});

关于javascript - 超时获取 - React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48056822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com