Javascript Vuex突变是原子的吗?

Javascript Vuex突变是原子的吗?,javascript,vue.js,vuex,mutation,vuex-modules,Javascript,Vue.js,Vuex,Mutation,Vuex Modules,我想知道Vuex的突变是否是原子性的。 我有这段代码,我不确定是否存在这样的情况:当CHANGE_B尚未完成时,将调用CHANGE_A突变: const突变={ [更改](状态、数据){ Vue.set(此测试为“左”数据); }, [更改](状态、数据){ Vue.set(此测试“正确”,数据); Vue.set(此测试为“左”数据); }, } 谢谢突变只是普通的同步函数,所以它们是原子的。没有两个突变会同时执行,前提是您没有在其中任何一个突变内执行任何异步操作,如获取请求、setTime

我想知道Vuex的突变是否是原子性的。 我有这段代码,我不确定是否存在这样的情况:当CHANGE_B尚未完成时,将调用CHANGE_A突变:

const突变={
[更改](状态、数据){
Vue.set(此测试为“左”数据);
},
[更改](状态、数据){
Vue.set(此测试“正确”,数据);
Vue.set(此测试为“左”数据);
},
}

谢谢

突变只是普通的同步函数,所以它们是原子的。没有两个突变会同时执行,前提是您没有在其中任何一个突变内执行任何异步操作,如获取请求、
setTimeout
或承诺,或间接调用另一个突变内的突变


当Vue检测到对反应性数据进行了更改时,这些更改事件将排队,并且观察者将在下一个微任务中执行(异步)。

突变只是普通的同步函数,因此它们是原子函数。没有两个突变会同时执行,前提是您没有在其中任何一个突变内执行任何异步操作,如获取请求、
setTimeout
或承诺,或间接调用另一个突变内的突变


当Vue检测到对反应性数据进行了更改时,这些更改事件将排队,并且观察者将在下一个微任务中执行(异步)。

变异是原子的,因为它们的处理程序功能必须始终是同步的,如文档中所述:


如果您违反此做法,使处理程序函数异步,则它们将不再是原子的。

变异是原子的,因为它们的处理程序函数必须始终是同步的,如文档中所述:

如果您反对这种做法,使处理程序函数异步,那么它们将不再是原子的