在 React Native 中使用 async/await 时出错

Error using async/await in React Native

尝试在 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"] }

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

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

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 语法。

简单地说:没有async就不能用await

编辑: 如果您在 class 中声明它,那么只需确保您的 syntax is correct:

class MusicTulip extends Component {
    async renderContent() {
        const response = await signIn.isLoggedIn();
    }
 }

只需使用:

const comp1 = await import('path');