2017-10-06 5 views
0

Ma requête de récupération fonctionne correctement et renvoie des données, mais je reçois un avertissement de rejet de promesse non géré possible. J'ai ajouté catch à la fin de la requête et la fonction catch renvoie des données, mais l'avertissement ne semble pas disparaître. Il dit aussi erreur de référence et il ne peut pas trouver l'erreur variable, je ne comprends pas à quelle variable il se réfère. J'ai regardé les ressources et j'ai constaté que le rejet de la promesse habituellement non gérée est dû au fait qu'il n'y a pas de capture ou que la capture ne renvoie rien, mais ma demande de récupération les a toutes les deux.Possible rejet de promesse non gérée (id: 0): ReferenceError: Impossible de trouver la variable: erreur

Voici ma demande de récupération:

fetch(this.request) 
    .then(response => response.json()) 
    .then(response => { 

     if(response.token === null){ 
      return { 
       status:false, 
       message:"Incorrect login credentials", 
       token:response.token 
      } 
     } 

     return { 
      status:true, 
      message:"Login successful" 
     } 
    }, 
    reject => ({ 
     status:false, 
     message:"Something is wrong with the server in reject", 
     reject:reject 
    })) 
    .catch(networkError => ({ 
     status:false, 
     message:"Something is wrong with the server in catch", 
     networkError 
    })) 

Voici le journal des erreurs:

Possible Unhandled Promise Rejection (id: 0): 
ReferenceError: Can't find variable: error 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:87622:38 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:13836:44 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:14024:30 
http://192.168.2.102:19001/./node_modules/react-native-scripts/build/bin/crna- 
entry.bundle?platform=android&dev=true&hot=false&minify=false:13861:28 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:13836:44 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:13894:28 
http://192.168.2.102:19001/./node_modules/react-native-scripts/build/bin/crna- 
entry.bundle?platform=android&dev=true&hot=false&minify=false:13902:19 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:15825:14 
http://192.168.2.102:19001/./node_modules/react-native-scripts/build/bin/crna- 
entry.bundle?platform=android&dev=true&hot=false&minify=false:15911:25 
http://192.168.2.102:19001/./node_modules/react-native-scripts/build/bin/crna- 
entry.bundle?platform=android&dev=true&hot=false&minify=false:6735:24 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6649:15 
callImmedia[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6877:19 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6888:39 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6248:30 
http://192.168.2.102:19001/./node_modules/react-native-scripts/build/bin/crna- 
entry.bundle?platform=android&dev=true&hot=false&minify=false:6134:32 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6234:11 
[email protected]://192.168.2.102:19001/./node_modules/react-native- 
scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6133:19 
[email protected][native code] 
[email protected]://192.168.2.102:19001/./node_modules/react 
-native-scripts/build/bin/crna-entry.bundle? 
platform=android&dev=true&hot=false&minify=false:6103:31 
[email protected][native code] 

Répondre

0
fetch(this.request) 
    .then(response => response.json()) 
    .then(response => { 

     if(response.token === null){ 
      return({ 
       status:false, 
       message:"Incorrect login credentials", 
       token:response.token 
      }); 
     } 

     return({ 
      status:true, 
      message:"Login successful" 
     }); 
    }) 
    .catch(networkError => (
    return(
    { 
     status:false, 
     message:"Something is wrong with the server in catch", 
     networkError 
    } 
    ) 
    )) 

Il pourrait y avoir quelques hauts et des bas dans l'ouverture et la fermeture entre parenthèses.

+0

Cela ne fonctionne toujours pas, pourriez-vous également me donner quelques connaissances sur la fonction de rejet et de résolution que vous invoquez. –

+0

J'ai mis à jour la réponse. Pour résoudre et rejeter, recherchez "Promise" –