簡體   English   中英

GetHTTPSttaus代碼獲取API-React Native

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM