J'ai créé une base de données sur Couch.db et j'utilise la méthode couch.GET pour extraire les données du document. J'ai créé une fonction de test qui récupère la valeur de l'objet "name" et affiche les résultats via console.log.La fonction ne renvoie pas la valeur de la propriété JSON - node.js
function sendDB() {
couch.get(dbName, viewUrl).then(
function(data, headers, status){
console.log(data.data.rows[0].value.name);
}
)
}
sendDB();
Dans la fonction ci-dessus, la sortie est «John Doe» comme il se doit. Le problème se pose quand je tente de retourner la valeur de data.data.rows[0].value.name
function sendDB() {
couch.get(dbName, viewUrl).then(
function(data, headers, status){
DB = JSON.stringify(data.data.rows[0].value.name);
return DB;
}
)
}
console.log(sendDB());
Dans la fonction ci-dessus, la console lit « undefined » et je suis tout à fait confus. J'ai besoin d'utiliser la valeur retournée dans d'autres fonctions donc toute aide serait grandement appréciée. Merci
Cela ne répond pas à votre question, mais vous avez un problème avec vos arguments de fonction, 'fonction (données, en-têtes , statut) Cette fonction est passée à 'then', donc elle n'aura qu'un seul argument, comme avec toute autre promesse. Cette API particulière passe un objet contenant 3 propriétés, 'data',' header' et 'status'. Certains exemples 'node-couchdb' utilisent la déstructuration, telle que' function ({data, headers, status}) ', pour séparer cet objet. Notez les accolades, qui manquent dans votre code. Si vous avez une ancienne version de Node, il se peut qu'elle ne prenne pas en charge la déstructuration. – skirtle