Рефакторинг на асинхронность с помощью SetTimeout Vuex Action - PullRequest
0 голосов
/ 23 ноября 2018

Так что у меня есть этот вызов API в моих действиях в Vuex Store, однако я хочу реорганизовать его с помощью 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 голосов
/ 23 ноября 2018

Итак, на этот вопрос уже есть два ответа.

Этот: .then(resp => setTimeout(resolve, 1000){...

из здесь

и:

.then(promiseTimeout(2000)).then

от здесь

...