首页 > 解决方案 > 如果语句可以在 JavaScript 中使用 IDBCursor.continue() 循环,游标内部如何?

问题描述

使用文档中的示例(https://developer.mozilla.org/en-US/docs/Web/API/IDBCursor/continue):

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.');
        }
    };
};

当游标使用方法 cursor.continue() 检测到仍有数据行存储在其中时,似乎 if 语句正在循环游标。

我的问题是,它是如何循环的?

标签: javascriptcursorindexeddb

解决方案


推荐阅读