웹 사이트의 결과와 함께 로컬 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);
});
}
오전 데 문제가 allDocs
쿼리가 마침내 뭔가를 반환하는 시간 DownloadFile
GET의 전화 100 번으로하고, 나는 더 이상 아무 결과도 반환되지 원래의 어떤 쿼리 알고 없다.
주어진 결과 집합을 생성하는 데 사용 된 쿼리 매개 변수를 결정하는 PouchDb의 방법이 있습니까?
편집 : 나는 받아 들인 대답을 정말 좋아하지만, 이것은 바보 같은 질문이었습니다. 실험 (브라우저에서)은 $query
과 $fname
이 allDocs
호출을 시작한 특정 호출에 대해 유효 범위 값을 포함한다는 것을 나타냅니다.
즉, 실제로 아무 것도 할 필요가 없으며 단지 작동합니다. 분명히 이것은 JS 구현에 크게 의존하므로 받아 들여지는 대답은 원하는 것에 대해 명시 적이기 때문에 더 좋습니다.
저는 종종 어두운 범위의 자바 스크립트 변수 범위 지정과 그저 처리하는 이상한 시나리오에 놀랐습니다. –