如何每隔几分钟发出一次axios请求呼叫?

时间:2020-06-10 23:24:39

标签: javascript laravel vue.js axios

这是我的疑问:我使用VueLaravel应用程序,并且试图创建一个函数,该函数每5分钟对服务器进行一次调用,以刷新日志。在页面上。

我发现的唯一方法是使用JavaScript本机函数setInterval

这真的是最好的唯一方法吗?我只是想知道这种情况是否有其他方法。

2 个答案:

答案 0 :(得分:0)

我认为最好在每个成功请求之后使用setTimeout。您要实现的目标称为长轮询。

some examples

答案 1 :(得分:0)

通常,本机函数通常是最佳选择。

对于这种情况,您确实可以使用interval

let myInterval = setInterval(() => {
  //make call to refresh logs
  console.log('interval')
}, 1000); //using 1s for demo purposes

替代方法是使用timeout

let myTimeout = (() => {
  //make call to refresh logs
  console.log('timeout')
  //you could put this timeout inside successful log refresh
  setTimeout(() => { 
    myTimeout()
  }, 1000);
})

请查看here。希望它能给您一些想法。