A voir également:
- JS Attendre la callback avant de retourner le résultat d'une fct
- Retourner ecran windows - Guide
- Comment retourner une video - Guide
- Round js ✓ - Forum Javascript
- Copiez l'image dans un logiciel d'édition d'images ou un outil en ligne comme js paint ou pixlr e. remplissez les cases en suivant le code couleur. des cases supplémentaires vont se remplir automatiquement. que représente le dessin ? ✓ - Forum Windows
- Veuillez patienter quelques minutes avant de réessayer instagram ✓ - Forum Instagram
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
524
Modifié par Pitet le 17/08/2016 à 16:59
Modifié par Pitet le 17/08/2016 à 16:59
Effectivement la "bonne manière" pour récupérer le résultat est d'appeler une autre fonction de callback qui sera passée en paramètre de ta première fonction, par exemple comme ceci :
Dans ce cas, l'appel à ta fonction ne se fait pas comme ceci :
mais comme ceci :
Source : https://stackoverflow.com/questions/5010288/how-to-make-a-function-wait-until-a-callback-has-been-called-using-node-js
Une autre solution qui semble correspondre exactement à ton problème en utilisant les "promises" : https://stackoverflow.com/questions/26566535/nodejs-solrclient-how-to-wait-for-response
function updateMessage(input, response, callback) { response.output.text = "ceci est une mauvaise réponse"; if(!cond1){ return response; } else { query.q(input.input.text); solrClient.search(query, function(err, searchResponse) { if(err) { console.log('Error searching for documents: ' + err); } else { console.log('Found ' + searchResponse.response.numFound + ' documents.'); response.output.text('First document: ' + JSON.stringify(searchResponse.response.docs[0], null, 2)); } callback(response); }); } }
Dans ce cas, l'appel à ta fonction ne se fait pas comme ceci :
var returnResponse = updateMessage(input, response);
mais comme ceci :
updateMessage(input, response, function(resturnResponse) { // on peut utiliser ici la retour de la recherche : returnResponse });
Source : https://stackoverflow.com/questions/5010288/how-to-make-a-function-wait-until-a-callback-has-been-called-using-node-js
Une autre solution qui semble correspondre exactement à ton problème en utilisant les "promises" : https://stackoverflow.com/questions/26566535/nodejs-solrclient-how-to-wait-for-response
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
524
17 août 2016 à 16:34
17 août 2016 à 16:34
Salut,
Et en déplancant le "return response;" à la fin de la fonction de callback ?
Bonne journée,
Et en déplancant le "return response;" à la fin de la fonction de callback ?
Bonne journée,
17 août 2016 à 17:26