// 登录与获取当前用户信息一起来
loginAndFetch({ dispatch }, loginData) {
// 返回这个结果之前,先触发login的action,然后等login有了结果后
// 再触发fetchCurrentUser的action去获取用户信息,记得要返回用户信息,因为我们要拿到页面上去用的
return dispatch('login', loginData).then(() => {
return dispatch('fetchCurrentUser')
})
}
这节课讲到了组合action,也就是新写了一个叫loginAndFetch的action,在这里先用dispatch调用了第一个action,也就是login,发起了登录请求,dispatch返回的是promise。所以我们可以在调用完dispatch后,使用then回调,让登录请求触发完毕后再dispatch第二个action,用来获取用户信息。
这个流程我还是比较清楚的,就是看着这里的两层函数,有两个return,看着有点晕。我想请问一下老师,这两个return分别是什么含义,为什么需要这样的两个return呢?是不是我前面理解的流程还不够透彻啊