【发布时间】:2018-04-13 01:57:47
【问题描述】:
我有这段代码可以检查用户是否已经在 Firebase 中登录,如果是,请使用 Redux 调度一个操作并将状态更新到当前的身份验证用户。
/**
* check to see if the user has signed in already or not
*/
function initAuth(dispatch) {
return new Promise((resolve, reject) => {
const unsubscribe = firebase.auth().onAuthStateChanged(
authUser => {
dispatch({ type: "INIT_AUTH", payload: authUser });
unsubscribe();
resolve();
},
error => reject(error)
);
});
}
initAuth(store.dispatch)
.then(() => render())
.catch(error => console.error(error));
我很困惑的是,为什么在取消订阅中调用 unsubscribe()?我知道你可以像在 JavaScript 递归中那样做,但是这里有什么用呢?谢谢!
【问题讨论】:
标签: javascript firebase recursion redux firebase-authentication