Ich habe eine Datenbank auf Couch.db erstellt, und ich verwende die couch.GET-Methode, um Dokumentendaten abzurufen. Ich erstellte eine Testfunktion, die den Wert des Objekts "name" abrufen und die Ergebnisse über console.log ausgeben würde.Funktion gibt JSON-Eigenschaftswert nicht zurück - node.js
function sendDB() {
couch.get(dbName, viewUrl).then(
function(data, headers, status){
console.log(data.data.rows[0].value.name);
}
)
}
sendDB();
In der obigen Funktion ist der Ausgang "John Doe", wie es sein sollte. Das Problem entsteht, wenn ich versuche, und den Wert von 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());
In der obigen Funktion zurückzukehren, die Konsole ‚undefined‘, heißt es, und ich bin ganz verwirrt. Ich muss den zurückgegebenen Wert in anderen Funktionen verwenden, damit jede Hilfe sehr geschätzt wird. Danke
dieser Antwort Ihrer Frage nicht angekettet verwenden, aber Sie haben ein Problem mit Ihrem Funktionsargument bekommen, 'Funktion (Daten, headers , Status) '. Diese Funktion wird an "then" übergeben, so dass es nur ein einziges Argument gibt, genau wie bei jedem anderen Versprechen. Diese spezielle API übergibt ein Objekt, das 3 Eigenschaften enthält, "data", "header" und "status". Einige 'node-couchdb'-Beispiele verwenden eine Destrukturierung wie' function ({data, headers, status}) ', um dieses Objekt auseinander zu ziehen. Beachten Sie die geschweiften Klammern, die in Ihrem Code fehlen. Wenn Sie eine alte Version von Node haben, unterstützt sie möglicherweise keine Destrukturierung. – skirtle