Understanding of pollingIn fact, the focus of polling is on the interval between executions, not the loop itself. Ajax is an asynchronous request, from initiating the request to receiving the response is a complete process. The time required for this process is unpredictable. To put it in an extreme point, if the time required for the request exceeds our polling interval, many problems will arise. Therefore, the polling interval should be based on ensuring that the request process is completed, which is more logical. Business Description:
Business logic point analysis:
Implementation ideas
// Polling method polling (page) { this.getWorks(page).then(res => { this.pollingST = setTimeout(() => { clearTimeout(this.pollingST) this.polling(page) }, 10000) }) } Why not use setInterval The function of setInterval seems to be a perfect match for the concept of polling. If our operation is synchronous code, then there is no problem in using setInterval. The problem is that setInterval is not flexible enough and we cannot know whether the last request has been completed. So setTimeout would be better. Things to note In the polling, I recorded the timer with the pollingST variable. The previous timer must be cleared before each execution. Because the recursive call is inside the timer, it is very convenient to end the polling by clearing the timer. Complete pseudo code<script> export default { data () { return { pollingST: null } }, methods: { // Paging change event pageChange (params) { // Clear the existing timer clearTimeout(this.pollingST) //Call polling this.polling(params) }, // Request interface method getWorks() { return new Promise(resolve => resolve({})) }, // Polling method polling (params) { this.getWorks(params).then(res => { this.pollingST = setTimeout(() => { clearTimeout(this.pollingST) this.polling(params) }, 10000) }) } }, created () { // Call polling this.polling({ page: 1, pageSize: 5 }) }, destroyed () { clearTimeout(this.pollingST) } } </script> SummarizeThis is the end of this article about the vue polling solution. For more relevant vue polling solutions, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Alibaba Cloud Ubuntu 16.04 builds IPSec service
>>: Example of how to implement MySQL cascading replication
CEP - Complex Event Processing. The payment has n...
Performance of union all in MySQL 5.6 Part 1:MySQ...
1. Linux installation (root user operation) 1. In...
Table of contents Preface step Preface Today I fo...
The elements in an HTML document are arranged one...
Let’s take a look at the panoramic view effect: D...
Table of contents 1 element offset series 1.1 Off...
inherit 1. What is inheritance Inheritance: First...
The main text starts below. 123WORDPRESS.COM Down...
1. Clear floating method 1 Set the height of the ...
Table of contents 1. Introduction to the basic fu...
We will use CSS3 animated transitions to create a...
Table of contents Storage Engine Storage engines ...
Effect: CSS style: <style type="text/css&...
Table of contents Preface 1. The significance of ...