【发布时间】:2019-12-19 20:28:53
【问题描述】:
我目前有一个异步 redux 操作(带中间件),它从我的后端获取数据。我正在添加 Firebase 身份验证,并希望在此请求中包含身份验证令牌。使用下面的函数getAuthToken() 异步获取身份验证令牌。下面的代码不起作用,抱怨
无法读取未定义的属性“解析”
这个简单的任务,将一个异步的输出链接到另一个,但我是 JS 新手。我怎样才能做到这一点?
// I'm sure returning from an async function like this is wrong.
function getAuthToken() {
firebase
.auth()
.currentUser.getIdToken(/* forceRefresh */ true)
.then(idToken => {
return idToken;
});
}
// Async redux action.
export function getData(userId) {
return dispatch => {
return fetch(`${BASE_URL}/data/${userId}`, {
headers: { Authorization: getAuthToken().resolve() } // Can I even resolve like this?
})
.then(response => response.json())
.then(json => dispatch(returnSurveys(json)));
};
}
【问题讨论】:
标签: javascript firebase authentication asynchronous redux