如何设定在指定的时间点执行功能

状况是这样的

现在要处理token过期的问题,所以想要在一个指定时间(expired_in)前五分钟刷新token

而api回传的值是Tue Nov 21 2017 00:40:59 GMT + 0800(CST)
这样的格式

但印象中的setTimeout只能输入时间间隔(ms)

所以目前适用watch监看expired_in这个值

只要这个值有变动就呼叫setToken api

     watch:{
         tokenExpiredIn(){
           this.refreshToken = setTimeout(()=> {
             this.setToken()。then(expires => {
               this.tokenExpiration = expires.valueOf() - Date.now()。valueOf() - 300000 // format to ms & expired_in + 50mins
            })
           },this.tokenExpiration)
        }
      }
      

      
  但这样依然无法完全指定在expired_in前的五分钟...

不知道有没有什么更好的思路

阅读 3.7k
1 个回答
setTimeout(()=>console.log('token will be expiried in 5 mins'), new Date(Date.parse("Tue Nov 21 2017 00:40:59 GMT +0800 (CST)"))-Date.now()-5*60*1000)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题