Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 降低Django web应用程序中Vue.js更新方法中的请求速率_Javascript_Python_Django_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 降低Django web应用程序中Vue.js更新方法中的请求速率

Javascript 降低Django web应用程序中Vue.js更新方法中的请求速率,javascript,python,django,vue.js,vuejs2,Javascript,Python,Django,Vue.js,Vuejs2,我在Django模板中有一个Vue.js视图。Vue从Django Rest Framework端点提取要在视图中显示的数据。我的代码如下: const app = new Vue({ el: '#app', delimiters: ["[%", "%]"], data: { dedicated_server: [], }, created() { fetch(

我在Django模板中有一个Vue.js视图。Vue从Django Rest Framework端点提取要在视图中显示的数据。我的代码如下:

    const app = new Vue({
        el: '#app',
        delimiters: ["[%", "%]"],
        data: {
            dedicated_server: [],
        },
        created() {
            fetch('/api/dedicated-server/{{ object.id }}/')
                .then(response => response.json())
                .then(json => {
                    this.dedicated_server = json;
                })
        },
        updated() {
            /* TODO: Try and limit the number of requests to the API */
            fetch('/api/dedicated-server/{{ object.id }}/')
                .then(response => response.json())
                .then(json => {
                    this.dedicated_server = json
                })
        },
    });
如您所见,我有一个更新的方法,该方法在数据更改时轮询Restful端点以更新页面。这一切都很好,但它似乎每秒轮询Restful API端点3到5次。这在开发中是很好的,但是如果我有100人访问这个页面,那么它将用请求杀死我的服务器

有没有办法限制Vue.js检查数据是否已更新的次数?如果你能说每5秒检查一次,那就太好了。

你可以用它每5秒运行一次。在
created
中设置它,您无需担心
updated

    setInterval(() => 
        fetch('/api/dedicated-server/{{ object.id }}/')
            .then(response => response.json())
            .then(json => {
                this.dedicated_server = json;
            }),
        5000);