0
我试图从网站加载本地PouchDB结果。一旦结果在本地加载,我不想再次下载它们。pouchDB检索allDocs原始查询
为了避免这种情况,我得到了一个存在的文件列表,然后测试它是否在获取之前加载它。
function DownloadFile($fname){
$query = {
include_docs: false,
attachments: false,
startkey: ['run',$fname].join(','),
endkey: ['run',$fname,'\uffff'].join(',')
};
db.allDocs($query).then(function (result) {
if (result.rows.length !== 0) return;
$url = './runDb/' + $fname + '/results.xml';
$.ajax({
url: $url,
type: "GET",
dataType: "xml",
contentType: "text/xml",
async: true,
success: function (results,status,xhr) {
app.ParseResults($fname,results)
}
});
}).catch(function (err) {
console.log(err);
});
}
我遇到的问题是,到时候DownloadFile
获取的所谓的100倍和allDocs
查询最终返回的东西,我已经不知道什么原始的查询返回任何结果。
PouchDb中有一种方法可以确定用于生成给定结果集的查询参数吗?
编辑:虽然我真的很喜欢接受的答案,但看起来这是一个愚蠢的问题。实验(在浏览器中)指示$query
和$fname
将包含启动allDocs
调用的特定调用的正确范围值。
换句话说,我并不需要做任何事情,它只是起作用。显然,这很大程度上取决于JS的实现,因此接受的答案更好,因为它清楚地表明了期望的结果。
我常常惊讶于JavaScript变量范围的黑暗巫师,以及它处理的奇怪场景过多。 –