最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何獲取this.$store.dispatch的返回值

 更新時間:2023年01月10日 10:54:55   作者:三分惡  
這篇文章主要介紹了如何獲取this.$store.dispatch的返回值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

獲取this.$store.dispatch的返回值

this.$store.dispatch() 是用來傳值給vuex的mutation改變state。

我們來看看怎么獲取this.$store.dispatch() 調(diào)用的返回值。

Action

首先看看定義的Action:

? login({ commit }, userInfo) {
? ? // const { username, password } = userInfo
? ? return new Promise((resolve, reject) => {
? ? ? login(userInfo).then(response => {
? ? ? ? const { data } = response
? ? ? ? commit('SET_TOKEN', data.token)
? ? ? ? setToken(data.token)
? ? ? ? resolve(response)
? ? ? }).catch(error => {
? ? ? ? reject(error)
? ? ? })
? ? })
? },

兩個關(guān)鍵點:

  • 返回一個new Promise
return new Promise((resolve, reject)
  • resolve函數(shù)中傳入返回值
resolve(response)

調(diào)用

? ? ? ? ? ? this.$store.dispatch('user/login', this.loginForm)
? ? ? ? ? ? ? .then(res => {
? ? ? ? ? ? ? ? console.log(res)
? ? ? ? ? ? ? ? fullLoading.close();
? ? ? ? ? ? ? ? //登陸首頁還是之前訪問需要重定向的地址
? ? ? ? ? ? ? ? this.$router.push({
? ? ? ? ? ? ? ? ? path: this.redirect || '/'
? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? this.loading = false

? ? ? ? ? ? ? })
? ? ? ? ? ? ? .catch(error => {}

在調(diào)用里就可以直接通過 res 來直接獲取返回值了。

? ? ? ? ? ? ? .then(res => {
? ? ? ? ? ? ? ? console.log(res)

根據(jù)vuex的this.$store.dispatch()返回值處理邏輯

App.vue

? ? ? ? const ret = await this.$store.dispatch('userLogin', {
? ? ? ? ? username: this.curUserName,
? ? ? ? ? password: this.curPassword
? ? ? ? })
? ? ? ? if (ret && ret.info) {
? ? ? ? ? this.$message.success(ret.info)
? ? ? ? ? await this.$store.dispatch('controlLoginDialog', false)
? ? ? ? } else {
? ? ? ? ? this.$message.warning(ret)
? ? ? ? }

vuex/store/action.js

? async userLogin ({commit}, account) {
? ? let userInfo = {}
? ? return new Promise((resolve, reject) => {
? ? ? requestUserLogin(account).then(response => {
? ? ? ? if (response.status === 200) {
? ? ? ? ? if (response.data.data) {
? ? ? ? ? ? userInfo = response.data.data
? ? ? ? ? ? userInfo.userName = userInfo.name
? ? ? ? ? ? userInfo.isLogin = true
? ? ? ? ? ? resolve({
? ? ? ? ? ? ? info: userInfo.userName + ' 登錄成功,歡迎進入百度云智學(xué)院實驗平臺'
? ? ? ? ? ? })
? ? ? ? ? } else if (response.data.fail) {
? ? ? ? ? ? userInfo.userName = ''
? ? ? ? ? ? userInfo.isLogin = false
? ? ? ? ? ? myConsole('response.data.fail')
? ? ? ? ? ? resolve(response.data.fail)
? ? ? ? ? }
? ? ? ? } else {
? ? ? ? ? userInfo.userName = ''
? ? ? ? ? userInfo.isLogin = false
? ? ? ? }

? ? ? ? commit(USER_LOGIN, {userInfo})
? ? ? }).catch(err => {
? ? ? ? myConsole(err)
? ? ? ? reject(err)
? ? ? })
? ? })
? },

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue.js使用v-pre與v-html輸出HTML操作示例

    vue.js使用v-pre與v-html輸出HTML操作示例

    這篇文章主要介紹了vue.js使用v-pre與v-html輸出HTML操作,結(jié)合實例形式分析了vue.js基于v-pre與v-html屬性輸出HTML的具體操作技巧,需要的朋友可以參考下
    2018-07-07
  • vue 解決在微信內(nèi)置瀏覽器中調(diào)用支付寶支付的情況

    vue 解決在微信內(nèi)置瀏覽器中調(diào)用支付寶支付的情況

    這篇文章主要介紹了vue 解決在微信內(nèi)置瀏覽器中調(diào)用支付寶支付的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue如何通過params和query傳值(刷新不丟失)

    vue如何通過params和query傳值(刷新不丟失)

    這篇文章主要介紹了vue如何通過params和query傳值(刷新不丟失),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 淺析Vue2/Vue3中響應(yīng)式的原理

    淺析Vue2/Vue3中響應(yīng)式的原理

    這篇文章主要是來和大家一起討論一下Vue2與Vue3中響應(yīng)式的原理,文中的相關(guān)示例代碼簡潔易懂,對我們深入了解Vue有一定的幫助,需要的可以參考下
    2023-07-07
  • Vue3中集成高德地圖并實現(xiàn)平移縮放功能

    Vue3中集成高德地圖并實現(xiàn)平移縮放功能

    隨著前端技術(shù)的不斷發(fā)展,地圖應(yīng)用在我們的項目中越來越常見,本文將介紹如何在Vue3項目中集成高德地圖,并通過簡單的配置實現(xiàn)地圖的平移和縮放功能,需要的朋友可以參考下
    2024-09-09
  • vue+iview/elementUi實現(xiàn)城市多選

    vue+iview/elementUi實現(xiàn)城市多選

    這篇文章主要介紹了vue+iview/elementUi實現(xiàn)城市多選,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue全局自定義指令-元素拖拽的實現(xiàn)代碼

    vue全局自定義指令-元素拖拽的實現(xiàn)代碼

    這篇文章主要介紹了面板拖拽之vue自定義指令,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • el-form中的rules未生效的解決方法

    el-form中的rules未生效的解決方法

    本文主要介紹了el-form中的rules未生效的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • vue3響應(yīng)式實現(xiàn)readonly從零開始教程

    vue3響應(yīng)式實現(xiàn)readonly從零開始教程

    這篇文章主要為大家介紹了vue3響應(yīng)式實現(xiàn)readonly從零開始教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Vue 兄弟組件通信的方法(不使用Vuex)

    Vue 兄弟組件通信的方法(不使用Vuex)

    本篇文章主要介紹了Vue 兄弟組件通信的方法(不使用Vuex),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

响水县| 怀安县| 顺平县| 闻喜县| 新密市| 当涂县| 峡江县| 慈溪市| 日照市| 宜阳县| 黔江区| 上蔡县| 弋阳县| 怀仁县| 仙游县| 白沙| 锡林郭勒盟| 应城市| 大悟县| 喀喇沁旗| 榆社县| 都江堰市| 桂阳县| 嘉荫县| 侯马市| 凤翔县| 玉山县| 贞丰县| 昭通市| 体育| 平邑县| 渭源县| 万全县| 吉水县| 涟源市| 巨鹿县| 睢宁县| 鄄城县| 北碚区| 淮安市| 逊克县|