vue.js - Nuxtjs - 从客户端和服务器端停止 setInterval() 执行
问题描述
在这个应用程序中,我想在某个时间间隔内从 api 加载数据并将其提交到存储。
当我运行该应用程序时,计时器启动,并在离开下一个 nuxt-link 页面计时器停止后。
但我可以看到它只在客户端控制台上停止,并且在 vscode 终端中我可以看到计时器仍在执行。
我想要的是我想在服务器和客户端中停止计时器,当我返回页面时,如果计时器实例存在,则不再创建计时器,请使用相同的计时器。
data() {
return {
i: 1,
timer: null
}
},
methods: {
getTopGainers() {
this.timer = setInterval(() => {
// call axios and save it to store
console.log(this.i++)
}, 1000)
}
},
beforeDestroy() {
clearInterval(this.timer)
},
created() {
this.getTopGainers()
}
解决方案
推荐阅读
- scala - delta-core和spark-avro之间的Spark Maven依赖不兼容
- c - 为什么这个递归求和函数不能正常工作?
- javascript - Vue.js Google Places 自动完成错误 net::ERR_CONNECTION_REFUSED - API V3
- tor - 如何在 Tor 浏览器上保持相同的 IP 数天和数周?
- single-sign-on - 具有不同目标和收件人 URL 的 ADFS SAML 响应
- sass - Sass:rgba 函数没有按照文档工作
- python - 如何在没有 Sudo/Root 访问权限的情况下在 Mac 上安装 PIP3(用于 python 3)?
- git - 引用不存在的提交的 Git 子模块
- javascript - Bootstrap 4 模态中的 Cloudinary 响应式图像以适应移动屏幕
- python - 从列中删除数字