【问题标题】:Let vs Var with AsyncStorage Strange Exception [duplicate]带有 AsyncStorage 奇怪异常的 Let vs Var [重复]
【发布时间】:2019-12-30 12:55:18
【问题描述】:

要复制以下内容,请在 React Native 0.59.8 上运行此代码

我有一个如下所示的函数:

import AsyncStorage from 'react-native';

const saveToStorage = async (value) => {
    await AsyncStorage.setItem('@store.key', value);
    let value = await AsyncStorage.getItem('@store.key');
    // Exception is thrown on ios because value is seen as null
}

但如果我将 let 更改为 var,请求就会成功处理。

const saveToStorage = async (value) => {
    await AsyncStorage.setItem('@store.key', value);
    var value = await AsyncStorage.getItem('@store.key');
    // No exception is thrown on ios
}

有人知道发生了什么吗?

【问题讨论】:

  • 把变量名改成value以外的名字

标签: javascript react-native react-native-ios


【解决方案1】:

如果可以的话,我会对此发表评论,但我认为您可以更改几件事。不要命名该变量值,因为您将一个名为 value 的参数传递给异步函数,因此 value 已经被定义。另外我认为您在AsyncStorage.getItem('@store.key') 中缺少await

【讨论】:

    猜你喜欢
    • 2014-11-16
    • 2018-06-08
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多