punchDB / allDocs / .then return 一个值
punchDB / allDocs / .then return a value
我是 js 和 punchDB 的新手,在从 pounchDB 获取数据时遇到问题
这在获取数据和处理过程中很常见
db.allDocs({include_docs: true}).then(function (result) {
console.log( result.rows);
}));
但我想return"result.rows"
var result = db.allDocs({include_docs: true}).then(function (result) {
return result.rows;
}));
是的,我可以通过 skip .then
输出 allDocs 函数
var result= db.allDocs({include_docs: true});
但它是一个复杂的输出
我也找到了这个link
http://andyshora.com/promises-angularjs-explained-as-cartoon.html
当我们有 .then 时解释 return 但它不适用于 allDocs
我假设您执行以下操作:
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
})
我是 js 和 punchDB 的新手,在从 pounchDB 获取数据时遇到问题
这在获取数据和处理过程中很常见
db.allDocs({include_docs: true}).then(function (result) {
console.log( result.rows);
}));
但我想return"result.rows"
var result = db.allDocs({include_docs: true}).then(function (result) {
return result.rows;
}));
是的,我可以通过 skip .then
输出 allDocs 函数var result= db.allDocs({include_docs: true});
但它是一个复杂的输出
我也找到了这个link http://andyshora.com/promises-angularjs-explained-as-cartoon.html
当我们有 .then 时解释 return 但它不适用于 allDocs
我假设您执行以下操作:
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
})