53

尝试在 react-native 中使用 async/await 时,出现以下错误:

    uncaught error Error: SyntaxError: /Users/senthilsivanath/Documents/MusicTulip/index.ios.js: Unexpected token (50:23)
  48 |   renderScene: function(route,nav) {
  49 |     try {
  50 |          const response = await signIn.isLoggedIn();

我的.babelrc文件是:

{ "presets": ["react-native", "es2015", "babel-preset-stage-3"] }
4

2 回答 2

147

您可能只是缺少第async48 行的关键字。

更新您的代码以在async关键字之前使用function关键字:

renderScene: async function(route, nav) {
    try {
        const response = await signIn.isLoggedIn();
        // ...

或者在使用箭头函数时,将async关键字放在参数列表之前:

 renderScene: async (route, nav) => {
        try {
            const response = await signIn.isLoggedIn();

在 JavaScript 中,async关键字是一个装饰器,它警告运行时附加的附件将使用await关键字,因此您总是会看到它们一起使用。这就是为什么您会听到人们将这种语法称为async/await语法的原因。

简单地说:你不能await没有async.

编辑:如果你在一个类中声明这个,那么只要确保你的语法是正确的

class MusicTulip extends Component {
    async renderContent() {
        const response = await signIn.isLoggedIn();
    }
 }
于 2016-04-10T16:01:44.243 回答
0

只需使用:

const comp1 = await import('path');
于 2021-11-02T22:10:39.387 回答