IndexedDB游标

时间:2015-02-15 16:09:39

标签: javascript indexeddb

我的问题非常简单。 我无法理解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.');
    }
  };
};

1 个答案:

答案 0 :(得分:4)

“循环”隐含发生。游标的每次成功前进都会导致“成功”事件,该事件将触发对分配给请求的“onsuccess”属性的处理程序的调用。因此,迭代发生在这一行:

cursor.continue();