aax 요청 취소

1959 단어
비동기 요청 취소
  • 기본 XHR 호출은 XHR 객체를 호출합니다.abort () 방법
  • var native = new XMLHttpRequest();
    native.open("GET","https://api.github.com/");
    native.send();
    native.onreadystatechange=function(){
        if(native.readyState==4&&native.status==200){
            console.log(native.response);           
        }else{
            console.log(native.status);
        }
    }
    native.abort();
    
  • jquery ajax
  • var jp = $.ajax({
        type:"get",
        url:"https://api.github.com/",
        dataType:"json",
        success:function(data){
            console.log(data);
        },
        error:function(err){
            console.log(err);
        }
    })
    jp.abort();
    
  • axios의 특징은 동시에 취소할 수 있다
  • ...
    constructor(props) {
        this.state=store.getState()
        this.source = axios.CancelToken.source() // axios 
    }
    ...
    componentDidMount = () => {
        const _t = this
        const url="xxxx";
        axios.get(url, {
            cancelToken: _t.source.token 
        })
            .then(res => {
                ...
            })
            .catch(function(thrown) {
                if (axios.isCancel(thrown)) {
                    console.log('Request canceled', thrown.message);
                } else {
                    console.log(thrown)
                }
            })
    }
    componentWillUnmount = () => {
        // 
        this.source.cancel(' , ');
    }
    

    componentWillUnmount에서 수행해야 할 작업
  • 정시, 지연 함수 지우기
  • 요청 취소(요청 처리 코드에 시간 또는 시간 지연 함수가 있으면 반드시 취소), 간단한 처리 방법이 있다
  • componentDidMount(){
      this.mounted = true;
      CCAjax({
             url:'front/facepay/reportMeal',
             headers:{token:token},
             data:{
                    errorCode:res.resultCode
             },
             success:(res)=>{
                    if(!this.mounted) {
                        return
                    }
             }
      });
    }
     
    componentWillUnmount(){
      this.mounted = false;
    }
    
  • 이벤트 귀속 해제
  • 좋은 웹페이지 즐겨찾기