我的问题非常简单。 我无法理解MDN article中有关迭代IndexedDB结果的示例。具体来说,我看不到任何用于迭代的循环。没有for / while / do循环。这是一个例子:
function displayData() {
var transaction = db.transaction(['rushAlbumList'], "readonly");
var objectStore = transaction.objectStore('rushAlbumList');
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if(cursor) {
var listItem = document.createElement('li');
listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year;
list.appendChild(listItem);
cursor.continue();
} else {
console.log('Entries all displayed.');
}
};
};
答案 0 :(得分:4)
“循环”隐含发生。游标的每次成功前进都会导致“成功”事件,该事件将触发对分配给请求的“onsuccess”属性的处理程序的调用。因此,迭代发生在这一行:
cursor.continue();