Приклад async await

// Приклад для експерементів в JSFiddle  
console.clear()
 
// Типичная логика для действий компонент
//---------------------------------------
//this.$store.dispatch('loginUser', user)
//.then(() => {
//  this.$router.push('/')
//})
//.catch(err => console.log(err)
//---
loginUser('Вася')
.then((resp) => {
  console.warn('LOGIN SUCCESS !!! '+resp)
})
.catch(err => console.warn(err))
console.warn('... тихонечко едем дальше ...')
 
// Типичная логика действий хранилища
//-----------------------------------
//async loginUser ({commit}, {email, password}) {
//  commit('clearError')
//  commit('setLoading', true)
//  try {
//    const user = await fb.auth().signIn(email, password)
//    commit('setUser', new User(user.uid))
//    commit('setLoading', false)
//  } catch (error) {
//    commit('setLoading', false)
//    commit('setError', error.message)
//    throw error
//  }
//}
//--    
async function loginUser(logName) {
try {
  console.log('TRY...')
  const response = await axios(logName)
  if (true) {
  	// Тут комитим данные
  	console.log(response.value)
  	return response.value
  } else {
  	throw new Error('Фигня пришла от сервера ...')
  }
}  
catch (error) {
  console.log('CATCH... ' + error.message)
  throw error
}
finally {
  console.log('FINAL')  
}
console.log('end') 
}
 
// Емулируем АСИНХРОННОЕ обращение к API 
function axios(fbName) {
return new Promise((resolve, reject) => {
  setTimeout(() => {  	
    resolve({value:'User '+fbName+' login sucess.'})    
    reject(new Error("время вышло!"))
  }, 1000);
})
}