Je veux aucune idée ? p> Backagain code> Pour être exécuté 2 secondes après avoir cliqué sur le bouton
Stopcrash CODE> Mais la console renvoie Erreur: Company TypeError: Ceci.backagain n'est pas une fonction
4 Réponses :
Vous devez utiliser une fonction de flèche afin d'accéder à ce code> contexte:
C'est tout parce que vous perdez ce code> lorsque vous définissez un délai d'attente, car
fonction () {} code> ne sauvegarde pas le
Ceci code> Contexte, mais comme les fonctions arrow, vérifiez le différence a > entre eux
Vous devez lier dans votre cas, vous pouvez lier et exécuter avec ceci code>. Fonction de flèche le fait pour vous.
Si vous utilisez IE 11 et que vous n'avez pas de fonctions de flèche, vous pouvez lier de cette manière:
appel code > ou
appliquer code> exécuter: p>
Ce code> est perdu lorsque le rappel est appelé, mais vous pouvez par exemple utiliser une variable locale dans sa fermeture (le concept habituel d'accéder à des variables à partir de blocs "externes" entourant un morceau de code étendu avec Le "Twist" que les variables sont accessibles même après que le code immédiat qui les contenait a fini de fonctionner), ce qui n'est pas perdu:
cashOut(){
clearTimeout(this.tessst);
this.money = Number(this.money) + Number(this.winning);
var diz = this; // <--- store
setTimeout(function(){
diz.backAgain(); // <--- use
},2000)
}}