我是js和punchDB的新手,在从pounchDB获取数据时遇到问题
这在获取数据和过程中很常见
memset(player_list, 0, sizeof(player_list));
但我想返回" result.rows"
db.allDocs({include_docs: true}).then(function (result) {
console.log( result.rows);
}));
是的,我可以跳过 .then
allDocs 功能输出var result = db.allDocs({include_docs: true}).then(function (result) {
return result.rows;
}));
但这是一个复杂的输出
我也找到了这个链接 http://andyshora.com/promises-angularjs-explained-as-cartoon.html
当我们 .then 时,解释返回,但它不适用于 allDocs
答案 0 :(得分:0)
我假设你做了类似以下的事情:
var result = db.allDocs({include_docs: true}).then(function (result) {
return result.rows;
});
console.log(result); // I expect to see rows here
这不起作用,因为result
不是行 - 获取行是承诺。实际结果会在以后异步到达。
因此,如果您在某个函数或服务中执行此操作,并执行return result
,则该函数的使用者仍需要执行.then
。这就是我的意思:
function getRows(){
var result = db.allDocs({include_docs: true}).then(function (result) {
return result.rows;
});
return result;
}
getRows().then(function(rows){
console.log(rows); // actual rows
})