Мне нужно вызывать функцию так часто, что я хочу обновлять данные так часто, поэтому мне нужно вызывать этот метод, я использую vue js.
в том жекак я хочу узнать, в каком свойстве vue js его найти, спасибо, я изучу все комментарии
Мне нужно вызывать метод listar () каждые 30 секунд
<script>
export default {
methods: {
listar(){
let me=this;
me.mesas=[];
axios.get('api/mesas/ListarTodos').then(function(response){
//console.log(response);
me.mesas=response.data;
me.loading=false;
}).catch(function(error){
console.log(error);
});
},
}
</script>
Это не сработало для меня
setTimeout(() => {
//
}, 300)
Обновление 1
этот код на самом деле работает для меня, но проблема в том, что он будет продолжать работать после переключения надругая страница, потому что это одностраничное приложение.
Я использую clearInterval (), но он не работает, метод продолжает работать, хотя я меняю страницу (компонент).Очистка очистки только при первом входе на другую страницу, а затем больше не
Ref -> https://renatello.com/vue-js-polling-using-setinterval/
<script>
import axios from 'axios'
export default {
data () {
return {
polling: null,
},
methods: {
listar(){
let me=this;
me.mesas=[];
axios.get('api/mesas/ListarTodos').then(function(response){
//console.log(response);
me.mesas=response.data;
me.loading=false;
}).catch(function(error){
console.log(error);
});
pollData () {
this.polling = setInterval(() => {
this.listar();
}, 3000) },
},
created () {
this.pollData()
},
beforeDestroy () {
clearInterval(this.polling)
},
}
</script>