vueaxios 요청이 성공했지만catch에 들어간 원인 분석
원인:
1. axios 요청이 완료되면 then의 코드 블록, then 코드 블록에 오류 코드 정보가 존재하면catch에 들어가 이상을 던집니다. (주의: 컨트롤러가 오류를 보고하지 않습니다. 오류가catch에 포착되었기 때문입니다)
2.axios는 비동기적으로 시작합니다. 시작 후 페이지가 새로 고쳐지면 현재 프로세스를 잃어버려서 받지 못합니다.예를 들어form 폼은 단추를 눌러서 제출하면 폼이 새로 고침됩니다
보충지식:axios가catch로 쓰는 것과catch를 사용하지 않는 것은 어떤 차이가 있습니까?
홈페이지 작성법:
axios.post(url, data)
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
})
회사 프로젝트 작성 방법:
axios.post(url, data)
.then(response => {
console.log(response);
}, error => {
console.log(error);
})
이전에 then과catch의 작법을 자세히 연구한 적이 없다. 사실 이것은 axioscatch와 관련된 것이 아니라 new Promise()에 관한 then이다완일봉은promise 문서에 소개되어 있다.
일반적으로 then 방법에서 Reject 상태의 리셋 함수 (즉 then의 두 번째 인자) 를 정의하지 말고, 항상catch 방법을 사용합니다.
// bad
promise
.then(function(data) {
// success
}, function(err) {
// error
});
// good
promise
.then(function(data) { //cb
// success
})
.catch(function(err) {
// error
});
위 코드에서 두 번째 글꼴은 첫 번째 글꼴보다 낫다. 두 번째 글꼴은 앞then 방법이 실행 중인 오류를 포착할 수 있고 동기화 글꼴(try/catch)에 가깝기 때문이다.따라서 then 방법의 두 번째 파라미터를 사용하지 않고catch 방법을 사용하는 것을 권장합니다.회사의 쓰기 방법은catch 첫 번째 매개 변수의 이상을 나타낼 수 없습니다.
이렇게 쓰면 쉽게 이해할 수 있다.
axios.post(url, data)
.then(response => {
//
}, error => {
console.log(' ');
})
.catch(error=>{
console.log(' ');
})
axios.post(url, data)
.then(response => {
//
})
.catch(error=>{
console.log(' ');
})
상기 vue axios가 성공을 요청했지만catch에 들어간 원인 분석은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.