Salut,
@plus
Pierre
Bonjour,
j'aimerais comprendre comment faire une requête ajax pour récupérer derrière une information contenu dans la requête. Sachant que javascript est asynchrone, je comprend bien qu'avec une fonction comme :
Faire un myFunction(); executera bien la requête ajax, mais ne retournera pas de valeur. J'ai beau avoir regardé sur stackoverflow je n'ai pas compris ce que j'y ai vu, ni même réussie à faire un sandbox fonctionnel.
Salut,
@plus
Pierre
Ça ne répond pas à mon problème, ce que je souhaite, c'est récupérer la donnée à l'exterieur de la requête.
Il faut désactiver l'async et que la fonction retourne quelque chose, un peu comme ça :
Salut,
async:false donne :
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
c'est chaud quand même ?
ça marche aujourd'hui mais demain ?
@plus
Pierre
Effectivement, j'avais survolé cette méthode mais étant deprecated, je pense qu'il y a bien un best way non ?
tu fais avec une promise ;)
myfunction étant le resolve
@plus
Pierre
Il faut mieux utiliser async/await tu modifies ton code comme ça, car tu ne pourra jamais récupéré la valeur d'une requeste async directement
si tu mets un console.log dans ton done tu verra qu'il apparait après ton undefined.
Voilà une solution avec async et wait mais ne sachant pas ce que ton code fait après je ne peux pas t'aider plus.
@MaxLes
En gros, je bosse sur une extension Chrome, un prototype, là pour le moment j'aimerais dégrossir le code en faisant des getter et setter sur l'API, l'idée c'était juste call une API, récupérer un ID (int) en fonction d'un du nom du jeu (string), le tout dans une fonction getIDFromName(string name)
J'ai l'impression que ya 10 milliard de façon de faire, j'ai pas la moindre idée de comment faire, et bien faire.
https://stackoverflow.com/a/15847321
Lui propose avec 2 fonction.... donc à chaque call j'ai 2 fonction, donc j'ai 8 billiard de fonction, c'est ça le javascript ? ^^"
Tu pourrai le faire comme ça ?
Je te conseil cette vidéo si tu ne l'a pas déjà vu : https://www.grafikart.fr/tutoriels/javascript/promise-async-await-875