Tapuscrit retournant un booléen après la promesse résolu
Je suis en train de retourner un booléen après une promesse résout mais tapuscrit donne un message d'erreur indiquant
A 'get' accessor must return a value.
mon code ressemble.
get tokenValid(): boolean {
//Check if current time is past access token's expiration
this.storage.get('expires_at').then((expiresAt) => {
return Date.now() < expiresAt;
}).catch((err) => { return false });
}
Ce code est pour Ionique 3 Application et le stockage est Ionique instance de Stockage.
Vous ne pouvez pas faire cela... Vous pouvez retourner un
Et vous ne devriez pas utiliser un getter pour une chose qui a des effets secondaires.
Oui, c'est une description plus précise. J'ai utilisé des "effets secondaires" a) parce que le temps est souvent considéré comme un b) en fait, nous ne savons pas ce qu'une requête n' (et "envoyer une demande" pourrait être une action qui mute toutes sortes de choses, au moins sur les niveaux inférieurs).
Non, quand il est asynchrone, il doit retourner une promesse pour les booléens. Pour en faire une méthode, omettez simplement le
Non, c'est impossible de faire synchrone. À l'aide de
Promise<boolean>
par juste retour this.storage.get...
.Et vous ne devriez pas utiliser un getter pour une chose qui a des effets secondaires.
Oui, c'est une description plus précise. J'ai utilisé des "effets secondaires" a) parce que le temps est souvent considéré comme un b) en fait, nous ne savons pas ce qu'une requête n' (et "envoyer une demande" pourrait être une action qui mute toutes sortes de choses, au moins sur les niveaux inférieurs).
Non, quand il est asynchrone, il doit retourner une promesse pour les booléens. Pour en faire une méthode, omettez simplement le
get
.Non, c'est impossible de faire synchrone. À l'aide de
async
/await
la syntaxe seul le sucre est-il pour then
appels - c'est encore asynchrone et retourne une promesse.OriginalL'auteur user2473015 | 2017-08-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez revenir à une
Promise
qui renvoie un booléen comme ceci:Le code dans votre question a seulement deux états: l'un à l'intérieur de la Promesse de
then
gestionnaire et un à l'intérieur de soncatch
gestionnaire. Nous avons ajouté une troisième instruction de retour à l'intérieur de latokenValid()
accesseur, parce que l'accesseur doit ramener quelque chose de trop.Voici un exemple de travail dans le Tapuscrit de l'aire de jeux:
J'ai peur de ne pas savoir de quelles informations supplémentaires à fournir dans cette réponse.
OriginalL'auteur Shaun Luttin
Votre fonction doit être:
OriginalL'auteur Mankeomorakort