【发布时间】:2018-11-21 02:04:24
【问题描述】:
我无法完成这项工作……上面写着:await 是保留字。是的,当然是……我想用它:)
怎么了?
export const loginWithToken = async () => {
return dispatch => {
dispatch({type: SESSION_LOGIN_IN_PROGRESS, payload: true})
let storedData = await ReadFromLocalDB('user')
console.log(storedData)
if (!storedData) {
invalidToken(null, dispatch)
}
else {
storedData = JSON.parse(storedData)
SessionLoginWithToken(storedData.session.token).then(res => {
console.log(res)
loginSuccessfully(res, dispatch, true)
})
}
}
}
我的ReadFromLocalDB 函数如下所示:
export const ReadFromLocalDB = async (key) => {
return AsyncStorage.getItem(key)
}
它返回一个承诺
【问题讨论】:
-
从'export const'更改它(即使用'let');这与问题/问题有关吗?如果没有,请将其从标题中删除。请记住消除不相关的信息并缩小问题范围。
-
return dispatch => {...}也必须是async我相信。现在,只有顶层函数是异步的,而不是嵌套的。
标签: javascript reactjs react-native