使用SetTimeout Vuex动作重构为异步

时间:2018-11-23 09:59:08

标签: asynchronous vue.js vuex vuex-modules

因此,我在Vuex商店的操作中已对此API进行了调用,但是我想使用setTimeout对其进行重构,只是为了给我的初始状态时间提交(大约一秒钟)。 这是功能

Authenticate: ({commit})=>{
    return new Promise((resolve) =>{
      commit('auth_request')
      return Axios.get(util.functions.pathFromScript('authenticate.php'),{params:params() }).then(resp =>{
        state.logged_in = true
        state.restricted =false
        const data = resp.data
        const session_id = data.session_id
        console.log(session_id) 
        localStorage.setItem('data',data)
        localStorage.setItem('session_id',session_id)
        commit('auth_success', params, data,session_id)
        resolve(resp)
      })
    })
  }

所以基本上我无法弄清楚在哪里添加异步以及超时。任何帮助将不胜感激!预先谢谢

1 个答案:

答案 0 :(得分:0)

所以这个问题已经有两个答案。

这个: .then(resp => setTimeout(resolve, 1000){...

来自here

和:

.then(promiseTimeout(2000)).then

来自here