реагируют - AXIOS перехват ответа

Структура каталогов

Here Вставка рисунка Описание

предисловие

Вардар прямого запроса инициирования вызова, возвращаемые результаты всегда должны быть определены (например, возвращает код состояния, возврат информации), а затем два случая успеха и неудач для различного лечения, каждый запрос имеет много избыточного код, могут ответ результат инкапсуляции

import axios from "axios"

axios.get(url).then(res => {

    if ( res.status===200) {
        // do something success
    } else {
       // do something error
    }
})


В ответ на перехват

interceptors.js

import _axios from "axios"

//设置baseURL
const axios = _axios.create({
    baseURL: '/api',
});

// 响应拦截处理
axios.interceptors.response.use(
    response => {
        return Promise.resolve(response.data)
    },
    error => {
        return Promise.reject(error.response)
    }
)

export default axios



Re-запрос

import React ,{useEffect,useState}from 'react';
import ReactDOM from 'react-dom';
import axios from './interceptors'



 function App() {

  const [msg,setMsg]=useState("")

 
  useEffect(()=>{
    axios.get("list.json").then(data=>{
      setMsg(data.message)
    })
  },[])
  
 return msg
}



ReactDOM.render(<App />, document.getElementById("root"));

list.json

{
  "success": true,
  "result": {
    "list":[
      {
        "id": 1,
        "name": "冷月心",
        "age":18,
        "like": "coding"
      }
    ]
  },
  "message": "请求成功"
}

Опубликовано 451 оригинальные статьи · вона похвала 788 · просмотров 160 000 +

рекомендация

отblog.csdn.net/qq_42813491/article/details/103992346