我做不到...上面写着:"等待"是一个保留的词.是的,当然是...我想用它:)

怎么了?

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)
}

它回报了一个promise

推荐答案

我相信return dispatch => {...}也应该是async.现在,只有顶级函数是async,而不是嵌套函数.

// This function is async
export const loginWithToken = async () => {
  // This one is not though which means it can't use await inside
  // return dispatch => {

  // Instead it should likely be:
  return async 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)
        })
    }
  }
}

React-native相关问答推荐

如何根据设备主题更改React Native中状态栏的背景?

React Native 动画.您必须在转换属性中精确指定一个属性.

在 ReactNative 中调用 RCTDeviceEventEmitter.emit 时出错

react-native (expo)加载markdown 文件

由于依赖关系,在 run-android 上构建失败

缺少请求的请求令牌

React-native 解码 base64 编码字符串

React Native localhost 另一个调试器已经连接

如何在react native中过滤对象数组?

No such property: ABI for class: org.gradle.api.tasks.OutputFile

我可以在 react-native 中使用 reactJS 库吗?

如何渲染多行文本组件,行间有白色间隙

React native + redux-persist:如何忽略键(黑名单)?

XCode AppIcon 基于方案

react-native fetch() cookie 持久化

react-native run-ios 运行失败: Application is unknown to FrontBoard?

如何使用特定目标运行 react-native run-ios

使用 React-Native Navigation 传递数据

如何在react-native中关闭模态

如何定义react-native应用程序的入口点