我尝试在native native上使用await / async,但是我得到了意外的令牌错误。
我在我的javascript源文件中添加了代码:
varchar(120)
我的本机版本是0.15.0。
我是否需要添加一些配置才能使用async / await?
答案 0 :(得分:57)
我在我的本机应用中使用了async / await,并且没有必要在我的项目中配置或启用它。我的用法采用......的形式。
async getCache(key){
try{
let value = await AsyncStorage.getItem(key);
return value.json();
}
catch(e){
console.log('caught error', e);
// Handle exceptions
}
}
注意强>: 如果在未使用async显式声明的函数中使用await,则最终会出现意外的令牌语法错误。
答案 1 :(得分:7)
我是否需要添加一些配置才能使用async / await?
是。 async
仍然不是规范的最终部分;他们目前被认为是“第3阶段”(候选人)。
您可以使用stage-3
preset在.babelrc
中启用所有第3阶段语言提案。或者,您可以添加just the async
plugin。
答案 2 :(得分:5)
如果项目的根目录中有.babelrc
个文件,则需要添加"react-native"
预设:
npm i babel-preset-react-native --save-dev
然后在.babelrc
文件中添加以下内容:
{
"presets": ["react-native"]
}
更多信息here。
答案 3 :(得分:1)
在阅读本地GitHub问题的this comment后,以下内容对我有用:
添加以下npm模块:
npm install babel-preset-react-native-stage-0 --save
将以下配置添加到.babelrc
文件中:
{ presets: ['react-native-stage-0'] }
清除缓存:
$ watchman watch-del-all
$ ./node_modules/react-native/packager/packager.sh --reset-cache