Ceci est mon code
let timesRun = 0; const intervalAddImage = setInterval(function () { timesRun += 1; if (timesRun === 60) { clearInterval(intervalAddImage) } this.addImage(); }, 250); intervalAddImage();
3 Réponses :
Voici votre erreur: N'utilisez pas Dans votre code, vous incrémentez Cet échantillon fonctionnera comme vous Attendez-vous: p> p> Ceci code> sans faire attention: vous devriez prendre le temps de comprendre Comment
Ce code> fonctionne dans JavaScript
. this.TimesRun code>, mais vous testez sur
foisRun code> qui n'est jamais incrémenté. p>
let timesRun = 0;
//const addImage = this.addImage;
const intervalAddImage = setInterval(function () {
timesRun += 1;
if (timesRun === 60) {
clearInterval(intervalAddImage);
}
//addImage();
console.log("Hello", timesRun);
}, 250);
J'ai besoin d'adjonction
Si vous devez appeler addimage code>, j'ai mis à jour l'extrait. Vous trouverez des lignes pour qu'ils puissent l'activer. Une autre façon serait de
Bind code> la fonction sur la valeur code> de cette code>, de sorte que
ceci code> est ce que vous voulez qu'il soit à l'intérieur de la fonction.
Mais s'il vous plaît, prenez le temps de lire comment ceci fonctionne code> dans JavaScript, sinon, vous rencontrerez beaucoup de problèmes. développeur.mozilla.org/en-us/docs/ Web / JavaScript / Référence / ...
donc ça marche)
"Intervaladdimage n'est pas une fonction"
@ Germanvaranytsya, supprimez simplement l'appel à intervaladdimage (); code> parce que ce n'est pas la fonction mais le nombre.
Le code suivant exécute une tâche tous les 250ms et s'arrête après 5 secondes. J'espère que cela vous donnera une inspiration.
p> var intervalId = setInterval(() => console.log("running"), 250);
setTimeout(() => clearInterval(intervalId), 5000);
Avez-vous vérifié la console pour un message d'erreur?
intervalleddimage n'est pas une fonction
Pouvez-vous montrer votre code entier? où
ceci code> est venu de, exécutez-vous cela à partir d'objet, ou utilisez-vous un objet global / fenêtre implicite?
@jcubic Settimeout (seinterval (this.adimage, 250), 5000); ?? Dans cette fonction de cas ne s'arrêtera pas
Ce commentaire supprimé était une erreur. Vérifiez mon autre commentaire.
Avez-vous regardé le
setInterval code> < / a> documentation? Il stipule que les intervalles peuvent être effacés à l'aide de
ClearInterval Code>
.@jcubic j'ai un code entier dans ma question précédente, Stackoverflow.com/questions/55496947/...
Ensuite,
this.TimesRun code> sera une variable globale sur la fenêtre non accessoire de votre objet. Vous devez utiliser la fonction arrow
seinterval (() => {}, x) code> ou utiliser
fonction () {} .bind (this) code> ou définissez ceci sur la variable
var self = ceci code> si cela.TimesRun supposons être votre const, alors vous devez utiliser let et n'utilisez pas
ceci code>.