Problème de débutant avec les callback

Par ffblanch, il y a 7 ans


Bonjour,

Je n'arrive pas a récupérer le résultat de ma fonction (rows). J'ai beau voir et revoir ton vidéo sur les callback ça ne fonctionne toujours pas. Quelqu'un a un conseil pour moi ?

function getAllType() { db.open(connStr, function (err, connection) { if (err) { console.log(err); return; } connection.query(SELECT_ALL_RLSE_TYPE, function (err1, rows) { if (err1) { console.log(err1); } else { console.log(rows) connection.close(err2 => { if (err2) console.log(err2); }); } }); }); };

console.log(rows) me donne exactement ce que je désire.

4 réponses

Pierrot01, il y a 7 ans

Salut,
Elle est ou ta function row() ?
@plus

Pierre

Sherlock_Holmes, il y a 7 ans

Tu veux récuper rows, mais tu fait juste un console.log, si tu veux récuperer rows, il fauts soit que ta fonction getAllType prenne un callback en paramètre, soit que tu l'adapte au promesse. personnellement je te conseil la seconde option, car gràce à ça, tu peux peut joué avec async/await. Sinon avec un callback ça serait quelle que chose comme ça:

function getAllType(callback) { db.open(connStr, function (err, connection) { if (err) { console.log(err); return; } connection.query(SELECT_ALL_RLSE_TYPE, function (err1, rows) { if (err1) { console.log(err1); } else { console.log(rows); callback(rows); connection.close(err2 => { if (err2) console.log(err2); }); } }); }); };

Et pour les promesse/async/await, grafikart a fait un tuto.

Lartak, il y a 7 ans

Bonjour.

J'ai beau voir et revoir ton vidéo sur les callback ça ne fonctionne toujours pas.

Je ne vois à aucun moment tes callbacks dans la fonction getAllTypes, alors que dans le tutoriel dont tu sembles parler explique correctement comment les définir et les utiliser.
Mais bon, je ne pense même pas que l'auteur du sujet va voir les réponses à son sujet étant donné que depuis qu'il l'a créé il n'a même pas répondu à celle qui a été posté le même jour de la création de celui-ci et ça fait déja 11 jours.