Umgang mit response-status abrufen im JS reagieren

Ich gerade angefangen zu lernen, ReactJS. Jetzt will ich wissen, wie man mit response-status, wenn ich eine API-Anfrage mit fetch. Hier ist mein code :

componentDidMount(){
    this.setState({ isLoading: true })
    var id = this.props.match.params.id        

    const api = `bla/bla/${id}`;

    console.log("start call api")
    fetch(api)
        .then((response) => {
            if(response.status === 200){
                console.log("SUCCESSS")
                return response.json();     
            }else if(response.status === 408){
                console.log("SOMETHING WENT WRONG")
                this.setState({ requestFailed: true })
            }
        })
        .then((data) => {
            this.setState({ isLoading: false, downlines: data.response })
            console.log("DATA STORED")
        })
        .catch((error) => {
            this.setState({ requestFailed: true })
        })
    console.log("end call api")
}

Drehte ich meine Verbindung um einen test zu machen für 408, aber mein laden wird immer noch angezeigt.

render(){
     const { isLoading, requestFailed } = this.state;
      if(requestFailed){
        return( 
            <div className="errorContainer">
                <a className="errorMessage">Opss.. Something went wrong :(</a>
            </div>
        )
    }
}

hier ist der log-in meinem browser:
Umgang mit response-status abrufen im JS reagieren

Irgendwelche Ideen, zu beheben ?

  • Können Sie sehen, dass die eigentliche status-Nummer? Es muss nicht für jeden Fehler 408
  • Überprüfung response.ok wird wahrscheinlich sicherer sein.
  • was ist mit der anderen Antwort, wie keine Verbindung oder Anfrage Zeit aus ?
  • Dann die Reaktion wäre nicht OK
  • tjvantoll.com/2015/09/13/fetch-and-errors
InformationsquelleAutor kurniawan26 | 2018-04-09
Schreibe einen Kommentar