CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Javascript] Besoin d'aide pour setTimeout

ticki84
ticki84
Niveau 10
01 septembre 2015 à 21:47:06

Bonjour,

J'ai une Javascript ReferenceError lors de l'exécution d'un fichier Javascript, celui-ci me dit que la fonction setTimeout n'est pas définie.
(!)Je n'exécute pas ce code dans un navigateur internet(!).

Voici le bout de code (première partie uniquement, la fonction sleep n'est pas inclut):

//out1, out2, out3, out4 sont des arrays

for(i = 0; i < outNote.length; i++)
{
	setTimeout(function(){
		post("out:", out1[i], out2[i], "\n");
		
		out(0, out1[i]);
		out(1, out2[i]);
		
		setTimeout(function(){out(0, out1[i]);out(1, 0)},out4[i]);
	},out3[i]);
}



/*function sleep(milliseconds) {
	var start = new Date().getTime();
	for (var i = 0; i < 1e7; i++) {
		if ((new Date().getTime() - start) > milliseconds){
			break;
		}
	}
}*/

Je crois savoir d'où vient l'erreur, j'ai regarder sur internet et setTimeout() est une méthode d'HTML DOM Window object.

Sachant que je n'utilise pas d'HTML (de navigateur) pour exécuter ce code, il me faudrait une prothèse d'émulation ou un moyen d'inclure cette méthode (sans navigateur).

Je ne souhaite pas non plus utiliser ceci la fonction sleep que j'ai inclus plus haut car elle est juste infâme au niveau de l'utilisation du processeur.

Merci d'avance.

ticki84
ticki84
Niveau 10
01 septembre 2015 à 23:51:26

Non, c'est un sous-programme appelé sous Max 7.

2011nobile
2011nobile
Niveau 10
02 septembre 2015 à 00:02:02

Problème de contexte. Salut Spixel, tu deviens quoi depuis spawnkill :hap: ?

ticki84
ticki84
Niveau 10
02 septembre 2015 à 00:07:41

J'avais déjà regarder la documentation mais j'étais passé sur cette partie là. Vu que je vais bientôt me coucher, je regarderai cette partie plus en détail demain ça me parait être un bon commencement dans tous les cas.

Merci de ton aide et si quelqu'un à une autre solution à proposer, je suis toujours ouvert.

2011nobile
2011nobile
Niveau 10
02 septembre 2015 à 00:10:19

Fait un alert() de i dans ton setTimeout, tu comprendras tout de suite.

ticki84
ticki84
Niveau 10
02 septembre 2015 à 01:05:23

Insomnie quand tu nous tiens, ce n'est pas un problème de contexte, l'erreur provient déjà dès le premier setTimeout(). Tout comme alert() m'envoie aussi une Javascript ReferenceError (il faut utiliser post(); pour obtenir des infos dans la console).

PS: même un setTimeout(function(){post("Hello world!");},1); en dehors de toutes fonctions et boucles me revoit une erreur de réference.

Grabugelelion
Grabugelelion
Niveau 5
02 septembre 2015 à 02:52:06

SetTimeout étant dans l'objet window, t'es baisé.

Recode la avec des timers (Date) sa dois pas être sorcier.

Message édité le 02 septembre 2015 à 02:56:45 par Grabugelelion
ticki84
ticki84
Niveau 10
02 septembre 2015 à 06:52:12

Le problème en revient au même Grabugelelion, je ne vois pas comment en Javascript faire une pause autrement que par la fonction écrite un peu plus haut et qui utilise ton processeur pour rien.
Pour l'instant il faut que je vois si le lien que m'a donné Spixel peut vraiment m'aider à faire des délais sans pour autant utiliser à mort mon processeur.

ticki84
ticki84
Niveau 10
02 septembre 2015 à 19:51:25

Problème réglé, j'ai pas mal galérer mais j'ai réussi à faire marcher le tout avec la documentation, merci à vous tous pour votre aide! :)

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment