我已經在Couch.db上創建了一個數據庫,並且我正在使用couch.GET方法來檢索文檔數據。我創建了一個測試函數,它將檢索「name」對象的值並通過console.log輸出結果。函數不返回JSON屬性值 - node.js
function sendDB() {
couch.get(dbName, viewUrl).then(
function(data, headers, status){
console.log(data.data.rows[0].value.name);
}
)
}
sendDB();
在上面的函數中,輸出是'John Doe',因爲它應該是。問題出現時,我嘗試和返回的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());
值在上面的函數,控制檯讀取「未定義」,我很困惑。我需要在其他函數中使用返回的值,所以任何幫助將不勝感激。謝謝
這不回答你的問題,但你有一個問題,您函數的參數,'功能(數據,標題,狀態)'。這個函數被傳遞給'then',所以它只會有一個參數,就像任何其他的承諾一樣。這個特定的API傳遞一個包含3個屬性'data','header'和'status'的對象。一些'node-couchdb'示例使用解構,例如'function({data,headers,status})'來拉開這個對象。請注意代碼中缺少的大括號。如果您有舊版本的節點,則可能不支持解構。 – skirtle