iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何获取this.$store.dispatch的返回值
  • 672
分享到

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

摘要

目录获取this.$store.dispatch的返回值Action调用根据Vuex的this.$store.dispatch()返回值处理逻辑App.vuevuex/store/a

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

this.$store.dispatch() 是用来传值给vuex的mutation改变state。

我们来看看怎么获取this.$store.dispatch() 调用的返回值。

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)
      })
    })
  },

两个关键点:

  • 返回一个new Promise
return new Promise((resolve, reject)
  • resolve函数中传入返回值
resolve(response)

调用

            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 => {}

在调用里就可以直接通过 res 来直接获取返回值了。

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

根据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 + ' 登录成功,欢迎进入百度云智学院实验平台'
            })
          } 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)
      })
    })
  },

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 如何获取this.$store.dispatch的返回值

本文链接: https://www.lsjlt.com/news/177281.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何获取this.$store.dispatch的返回值
    目录获取this.$store.dispatch的返回值Action调用根据vuex的this.$store.dispatch()返回值处理逻辑App.vuevuex/store/a...
    99+
    2023-01-10
    this.$store.dispatch this.$store.dispatch返回值 获取this.$store.dispatch返回值
  • golang函数如何获取返回值?
    go 语言函数通过返回值传递数据。要返回单个值,只需在函数签名中指定返回值类型,并在调用函数时使用变量接收返回值。要返回多个值,则需要在函数签名中使用元组类型,并在调用函数时使用多个变量...
    99+
    2024-04-22
    返回值 golang
  • python如何获取接口返回值
    在Python中,你可以使用`requests`库来发送HTTP请求,并获取接口的返回值。下面是一个简单的示例:```pythoni...
    99+
    2023-08-30
    python
  • python如何获取线程返回值
    Python中可以通过使用`threading`模块的`Thread`类来创建线程,但是线程对象无法直接返回值。如果想要获取线程的返回值,可以使用以下两种方法:1. 使用`threading`模块的`Thread`类的`join()`方...
    99+
    2023-08-11
    python
  • python多线程返回值如何获取
    在Python中,可以使用`concurrent.futures`模块来实现多线程并获取返回值。具体步骤如下: 导入`concu...
    99+
    2023-10-27
    python
  • 如何获取ShellExecute调用的exe的返回值
    要获取ShellExecute调用的exe的返回值,可以使用ShellExecuteEx函数来替代ShellExecute函数,并使...
    99+
    2023-09-26
    ShellExecute
  • Python如何获取多进程执行的返回值
    这篇文章主要介绍了Python如何获取多进程执行的返回值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何获取多进程执行的返回值文章都会有所收获,下面我们一起来看看吧。方法-1.第一种方法是记录在全...
    99+
    2023-07-05
  • python多进程获取返回值
    https://segmentfault.com/q/1010000010403117/a-1020000010411306 1. multiprocessing.Process def worker(procnum, retur...
    99+
    2023-01-31
    返回值 进程 python
  • 如何在Java中使用executeQuery()获取返回值
    在Java中使用executeQuery()方法获取查询结果需要以下步骤:1. 创建一个数据库连接对象,例如使用JDBC连接数据库:...
    99+
    2023-09-28
    Java
  • python 调用 shell ,获取返回值和返回信息
    网络上有各种方案解决python调用shell的解决方案,但是没有一个完美的,以下是本人整理的一个方案,比较完美地解决了同时解决获取返回值和返回信息。def run_linux_cmd_quiet(i_cmd, i_nohup='0...
    99+
    2023-06-02
  • shell如何获得sql返回值
    在shell中运行SQL语句并获取返回值,可以使用以下方法:1. 使用命令行界面工具(如mysql、psql等)执行SQL语句,并将...
    99+
    2023-09-14
    shell sql
  • JavaScript中如何以this的值返回window对象
    今天小编给大家分享一下JavaScript中如何以this的值返回window对象的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章...
    99+
    2024-04-02
  • python怎么获取接口返回值
    在Python中,可以使用requests库发送HTTP请求并获取接口返回值。以下是一个简单的示例: import requests...
    99+
    2024-02-29
    python
  • python怎么获取回调函数返回值
    在Python中,可以使用callback函数来获取回调函数的返回值。以下是一个示例: def callback_function(...
    99+
    2024-02-29
    python
  • Python获取多进程执行的返回值
    Python获取多进程执行的返回值 众所周知,因为GIL的原因,Python至今不支持真正的多线程。为了达到并行运行的目的,我们往往就需要运行多进程了。 一个任务由一个进程来运行,可是它的结果怎么来获...
    99+
    2023-08-31
    python
  • C#中怎么用invoke获取返回值
    在C#中可以使用Invoke方法来调用一个方法或委托,并获取其返回值。Invoke方法是Delegate类的成员,可以用于调用任何类...
    99+
    2023-10-23
    C# invoke
  • python多线程怎么获取返回值
    在Python中,可以使用`threading`模块来实现多线程。但是多线程中获取线程返回值稍微复杂一些,因为多线程中的线程是并发执...
    99+
    2023-10-26
    python
  • Python 获取线程返回值的三种方式
    提到线程,你的大脑应该有这样的印象:我们可以控制它何时开始,却无法控制它何时结束,那么如何获取线程的返回值呢?今天就分享一下自己的一些做法。方法一:使用全局变量的列表,来保存返回值ret_values = [] def thread_fu...
    99+
    2023-05-14
    Python CPython 返回值
  • Python获取协程返回值的方式有哪些
    这篇文章主要介绍“Python获取协程返回值的方式有哪些”,在日常操作中,相信很多人在Python获取协程返回值的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python获取协程返回值的方式有哪些...
    99+
    2023-06-22
  • Python获取多进程执行的返回值实现
    目录方法-1.方法-2.众所周知,因为GIL的原因,Python至今不支持真正的多线程。为了达到并行运行的目的,我们往往就需要运行多进程了。一个任务由一个进程来运行,可是它的结果怎么...
    99+
    2023-03-06
    Python获取多进程执行的返回值 python多进程获取返回值
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作