4
나는 indexedDB 데이터 저장소를 반복하여 JavaScript 배열에 데이터를 추가합니다. 커서가 끝날 때를 어떻게 알 수 있습니까? 배열을 정렬하고 처리 할 수 있습니까?HTML5 IndexedDB 커서가 끝날 때를 알려주는 방법
커서에서 행을 검색 할 때 onsuccess가 호출됩니다. 전체 커서를 탐색 할 때 다른 콜백이 있습니까?
나는 indexedDB 데이터 저장소를 반복하여 JavaScript 배열에 데이터를 추가합니다. 커서가 끝날 때를 어떻게 알 수 있습니까? 배열을 정렬하고 처리 할 수 있습니까?HTML5 IndexedDB 커서가 끝날 때를 알려주는 방법
커서에서 행을 검색 할 때 onsuccess가 호출됩니다. 전체 커서를 탐색 할 때 다른 콜백이 있습니까?
성공적인 커서 요청의 결과 (event.target.result
)는 커서 개체 또는 null입니다.
event.target.result
이 설정되면 커서가 표시되어 event.target.result.value
에 액세스 할 수 있습니다. 그런 다음 event.target.result.continue()
으로 전화하여 다음 객체로 이동합니다 (있는 경우).
event.target.result
이 설정되지 않으면 더 이상 개체가 없습니다.
그림를 들어, 내 프로젝트에서 일부 코드 : (? I 가정의 == 없습니다 =)
var collectObjects = function (request, cb) {
var objects = []
request.onsuccess = function (event) {
if (!event.target.result) return cb(null, objects)
cursor = event.target.result
objects.push(cursor.value)
cursor.continue()
}
request.onerror = function (event) {
cb(event.target.error)
}
하지 변수 커서가 당신의 예에서 무엇인지는 – ed4becky
나는 그것에 할당하고있어 없음,하지 그런 다음 그것이 있는지 확인하십시오. 이 예제를 가독성을 위해 약간 수정합니다. –
당신은 올바른 방향으로 지적 해주었습니다.이게 효과적이었습니다. if (cursor === false || cursor === undefined) { – ed4becky