53 votes

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

Lorsque j'essaie d'utiliser async/await dans react-native, j'obtiens l'erreur suivante :

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

Mi .babelrc est :

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

147voto

radiovisual Points 506

Il se peut que vous manquiez le async mot-clé à la ligne 48.

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

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

Ou lorsque vous utilisez une fonction de flèche, mettez la touche async avant la liste des paramètres :

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

En JavaScript, le async est un décorateur qui avertit le runtime que l'enceinte attachée utilisera le format await c'est pourquoi vous les voyez toujours utilisés ensemble. C'est pourquoi vous entendrez des personnes se référer à cette syntaxe en tant que async/await la syntaxe.

C'est simple : Vous ne pouvez pas utiliser await sin async .

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

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

0 votes

J'ai fait beaucoup de combinaisons de permutation et ça a été retiré. L'ajout d'async donne également une erreur de jeton inattendue, code source mis à jour.

0 votes

@MusicMan, j'ai ajouté une note sur la syntaxe. J'espère que cela vous aidera.

0 votes

Hey merci cela fonctionne, mais j'ai eu l'erreur suivante babelHelpers type of n'est pas une fonction babelHelpers.typeof(value) est indéfinie

0voto

Pois.Nada Points 1

Il suffit d'utiliser :

const comp1 = await import('path');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X