// Приклад для експерементів в 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); }) }