Vuex Action中方法参数的约定

实例代码:

actions: {
    // 获取用户信息
    getUserInfo({commit}) {
      return new Promise((resolve, reject) => {
        getUserInfo().then(user => {
          if (user.data.success) {
            commit('setUserName', user.data.data.realName)
          }
          resolve(user)
        }).catch(err => {
          reject(err)
        })
      })
    }
}

 讲解:

1.vuex中action方法区第一个参数是约定好的,第二个是用户自定义的(如果有)。第一个参数为:context,即:store的对象context,如果想限定只能使用context中的属性或者方法,则需要使用{}来限定,如:{commit}。

2.Promise可以将异步方法按一定的顺序执行,其自带2个参数。参数一:resolve正确返回后使用的参数,reject为异步函数调用失败后的调用参数。

posted @ 2020-07-15 11:22  Shapley  阅读(2836)  评论(0编辑  收藏  举报