[英]GetHTTPSttaus Code Fetch API— React Native
點擊登錄API將返回成功或失敗響應。 響應碼將。 在200到300之間獲得成功。 其余將歸類為故障響應。 在我的方案中,如果成功響應,它將是text(response.text())。 對於失敗的情況,它將產生Json(response.json())。
我想根據失敗和成功來序列化響應。
到目前為止我一直遵循的方法
fetch(restUrl, {
method: "POST",
headers: {
'Accept': '*/*',
'Content-Type': 'application/json',
},
body: JSON.stringify(objReq)
}))
.then(response => {
if (response.status >= 200 && response.status < 300) {
response.text()
} else {
response.json()
}
)
.then(responseJson => {
let obj = responseJson;
if (responseJson != null && responseJson != undefined) {} else {
alert(i18n.t('unable'));
}
})
.catch(error => {
alert(error + "-from error");
});
它不接受這種方法。 請提供合適的解決方案。
我想你正在尋找這樣的東西
const fetchRequest = (restUrl, objReq) => fetch(restUrl, {
method: "POST",
headers: {
'Accept': '*/*',
'Content-Type': 'application/json',
},
body: JSON.stringify(objReq)
})
.then(response => {
if (response.status >= 200 && response.status < 300) {
return response.text()
} else {
throw response.json();
}
})
.then(responseText => {
console.log('success',responseText);
})
.catch(errorJson => {
console.log(errorJson);
});
你可以這樣稱呼它。
fetchRequest('url.com',{test:123});
本質上,當您收到狀態碼不是200時拋出響應,而您又忘記了返回承諾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.