Vuex 承诺拒绝 returns 未定义

Vuex promise reject returns undefined

我希望 promise 拒绝 return 我的方法的错误,但是我的方法 then() 函数中的响应是空的,我怎样才能将错误响应 returned 到我的方法可以进一步使用,甚至可以在 catch 函数中使用。

我的 vuex 动作

//authAction 
login({ commit }, payload) {
    new Promise((resolve, reject) => {

      user.login(payload.user.email, payload.user.password)
        .then(response => {

          const user = response.data.user;

          // If there's user data in response
          if (user) {
            const payload = [user]

            commit('AUTH_SUCCESS', payload, { root: true })

            resolve(response)
          } else {
            reject({ message: "Sorry, cant login right now" })
          }

        })
        .catch(error => {
          console.log(error.response.status)
          reject(error)
        })
    })
  }

我的方法

// Login method
login() {
      if (!this.checkLogin()) return;

      this.$vs.loading();

      const payload = {
        checkbox_remember_me: this.checkbox_remember_me,
        user: {
          email: this.email,
          password: this.password
        }
      };

      this.$store
        .dispatch("auth/login", payload)
        .then(res => {
          this.$vs.loading.close();
          console.log(res);
       })
        .catch(error => {
          this.$vs.loading.close();
          this.$vs.notify({
            title: "Error",
            text: error.message,
          });
        });
    }

我错过了什么?

提前致谢!

我的解决方案是 1. 每当抛出更新状态的错误时分派一个动作 2. 在视图中观察状态变化并用它做一些事情