vue 폴 링 요청 솔 루 션 의 전체 인 스 턴 스
사실 폴 링 의 중점 은 순환 자체 가 아니 라 몇 시간 간격 으로 한 번 씩 실행 하 느 냐 에 있다.ajax 는 비동기 요청 입 니 다.요청 을 시작 할 때 부터 응답 을 받 을 때 까지 완전한 과정 입 니 다.이 과정 에 필요 한 시간 은 예측 할 수 없습니다.극단 적 인 점 을 말 합 니 다.요청 에 필요 한 시간 이 우리 가 문의 하 는 간격 을 초과 하면 많은 문제 가 발생 할 수 있 습 니 다.따라서 문의 간격 은 이 요청 과정 이 완성 되 는 것 을 확보 하 는 기초 위 에 있어 야 합 니 다.이것 도 논리 에 더욱 부합된다.
업무 설명:
//
polling (page) {
this.getWorks(page).then(res => {
this.pollingST = setTimeout(() => {
clearTimeout(this.pollingST)
this.polling(page)
}, 10000)
})
}
왜 setInterval 을 사용 하지 않 습 니까?setInterval 의 기능 은 폴 링 의 개념 에 완벽 하 게 부합 되 는 것 처럼 보 입 니 다.만약 에 우리 의 조작 이 동기 코드 라면 setInterval 을 사용 하 는 것 은 아무런 문제 가 없습니다.문 제 는 setInterval 이 유연성 이 없 기 때문에 우 리 는 지난번 요청 이 이미 끝 났 는 지 알 수 없습니다.그래서 setTimeout 이 더 좋 을 것 같 아 요.
주의 할 점
폴 링 에서 저 는 타 이 머 를 pollingST 변수 로 기 록 했 습 니 다.실행 하기 전에 먼저 타 이 머 를 지 워 야 합 니 다.재 귀적 인 호출 은 타이머 내부 에 있 기 때문에 타 이 머 를 제거 하면 폴 링 을 편리 하 게 끝 낼 수 있 습 니 다.
전체 의사 코드
<script>
export default {
data () {
return {
pollingST: null
}
},
methods: {
// change
pageChange (params) {
//
clearTimeout(this.pollingST)
//
this.polling(params)
},
//
getWorks () {
return new Promise(resolve => resolve({}))
},
//
polling (params) {
this.getWorks(params).then(res => {
this.pollingST = setTimeout(() => {
clearTimeout(this.pollingST)
this.polling(params)
}, 10000)
})
}
},
created () {
//
this.polling({ page: 1, pageSize: 5 })
},
destroyed () {
clearTimeout(this.pollingST)
}
}
</script>
총결산여기 서 vue 폴 링 솔 루 션 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 vue 폴 링 솔 루 션 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.