web-dev-qa-db-fra.com

Erreur lors de l'utilisation de async / wait dans React Native

Lorsque j'essaie d'utiliser async/wait dans react-native, le message d'erreur suivant s'affiche:

    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();

Mon fichier .babelrc est:

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

Il se peut que le mot-clé async soit manquant à la ligne 48.

Mettez à jour votre code pour utiliser le mot clé async avant le mot clé function:

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

Ou, lorsque vous utilisez une fonction de flèche, placez le mot clé async avant la liste de paramètres:

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

En JavaScript, le mot clé async est un décorateur qui avertit le moteur d'exécution que le boîtier attaché utilisera le mot clé await pour que vous puissiez toujours les voir utilisés ensemble. C'est pourquoi vous allez entendre les gens se référer à cette syntaxe comme la syntaxe async/await.

Simplement: Vous ne pouvez pas utiliser await sans async.

Edit: Si vous déclarez cela à l'intérieur d'une classe, assurez-vous simplement que votre la syntaxe est correcte :

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

J'espère que ça aide!

143
radiovisual