我想要寫在JS的功能,我將通過我的索引數據庫表一環,並得到修改後的表中的最後一個最大值,並返回如何同步循環訪問indexedDB表?
function readData(){
var trans = '';
trans = idb.transaction(["tableName"],'readonly'); // Create the transaction
var request = trans.objectStore("tableName").openCursor();
request.onsuccess = function(e) {
var cursor = request.result || e.result;
if(cursor) {
// logic to and find maximum
} else {
return // max last modified
}
cursor.continue();
}
}
IMP - 由於的onSuccess方法是異步如何我可以讓它同步嗎?這樣我的方法readData()只有當最後一個修改記錄被成功找到時纔會返回。如果需要,我可以同步調用此方法(readData())以獲取2-3個表的最後修改記錄。
即使在網絡工作者中,沒有瀏覽器實現同步API。 AFAIK,只有chrome支持web worker中的indexeddb,這就是async API。 – dgrogan
這不會起作用因爲maxKey在遊標上的成功事件中被聲明,每當遊標繼續時被調用。我已提交編輯到您的代碼請檢查它。 –
你是對的,tnx編輯。 –