インデックス付きDBのテーブルをループし、テーブルの最終変更の最大値を取得して返す関数をJSで作成したい
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 個のテーブルの最後に変更されたレコードを取得できます。