如何使用等待关键词反应本地?

我尝试使用await /asynchronous对原生,但我得到意外的令牌错误。

我在javascript源文件中添加了代码打击:

var value = await AsyncStorage.getItem('STORAGE_KEY'); 

我的反应本地版本是0.15.0。

我需要添加一些configuration来使用asynchronous/等待?

我正在使用asynchronous/等待我的反应原生应用程序,并没有做任何事情来configuration或启用它在我的项目。 我的用法采取的forms…

 async getCache(key){ try{ let value = await AsyncStorage.getItem(key); return value.json(); } catch(e){ console.log('caught error', e); // Handle exceptions } } 

注意如果你在一个没有用async明确声明的函数内部使用await,你将会得到Unexpected token语法错误。

我需要添加一些configuration来使用asynchronous/等待?

是。 async仍然不是规范的最后部分; 他们目前被认为是“第三阶段”(候选人)。

您可以使用stage-3预设启用.babelrc的所有Stage 3语言提议。 或者,您可以添加只是async插件 。

如果在项目的根目录中有一个.babelrc文件,则需要添加"react-native"预设:

npm i babel-preset-react-native --save-dev

然后在您的.babelrc文件中添加以下内容:

 { "presets": ["react-native"] } 

更多信息在这里 。

在阅读了关于反应原生GitHub问题的评论之后,以下内容适用于我:

添加以下npm模块:

npm install babel-preset-react-native-stage-0 --save

将以下configuration添加到.babelrc文件中:

{ presets: ['react-native-stage-0'] }

清除caching:

 $ watchman watch-del-all $ ./node_modules/react-native/packager/packager.sh --reset-cache