Je reçois cette erreur en développant une application mobile native.undefined n'est pas un objet (évaluation Promise .then)
fonction fetchDB
retourne une promesse
fetchDB(key) {
try {
AsyncStorage.getItem(key, result => {
return result;
});
} catch (error) {
console.log(error);
}
}
}
aller chercher la valeur de la promesse de retour à l'aide .then()
getUserName =() => {
var user = Storage.fetchDB("username");
user.then(res => {
alert(res);
});
};
son rendu l'écran rouge avec l'erreur
non définie est pas un objet
'AsyncStorage.getItem' est asynchrone? Quoi qu'il en soit, une valeur de retour dans une fonction de rappel ne signifie pas que vous retournez quelque chose de la fonction 'fetchDB' ... donc vous avez deux problèmes ... comprendre le code asynchrone, et comprendre que votre fonction ne retourne rien de toute façon ... essayez simplement 'return AsyncStorage.getItem (key);' –