从 vuex 操作返回 axios 承诺
Posted
技术标签:
【中文标题】从 vuex 操作返回 axios 承诺【英文标题】:Returning axios promises from vuex action 【发布时间】:2019-07-30 07:02:43 【问题描述】:我不知道,让 vuex 操作返回 axios 承诺是否是一种不好的方法,如下例所示。我这样做的原因是因为我需要请求中来自 vuex 状态的一些值。谁能告诉我,这是不好做还是完全没问题? :)
/* Vuex action */
fetchSomething( state , id)
return getSomething(
id,
state.basket.shipping,
state.basket.billing);
,
/* Method in vue component */
someMethod()
this.$store.dispatch('fetchSomething')
.then(res => console.log(res));
【问题讨论】:
你能澄清一下“我需要一些来自请求中 vuex 状态的值”的意思吗? @LassiUosukainen 我需要一些值保存在状态中作为请求的获取参数 有多种方式可以访问请求前的状态。然而,从 Vuex 操作返回一个承诺与请求之后发生的事情有关。它与以任何方式发送请求无关。 【参考方案1】:我看不出这样做的意义。 Vuex 操作的重点是执行检索数据的异步工作,然后到mutate Vuex 存储。
商店发生变异后,您可以access it from your Vue component。由于 Vuex 是 Vue 生态系统的一部分,它遵循与 Vue 相同的反应性原则。如果您需要在检索到数据后执行某些操作,您可以在要检索的变量上设置一个观察者,或者更常见的情况是将其用作计算属性。
【讨论】:
以上是关于从 vuex 操作返回 axios 承诺的主要内容,如果未能解决你的问题,请参考以下文章