次のようなことを試してください:
import 'dart:html';
import 'dart:indexed_db';
void main() {
List data = [
{"name":"Chris", "lang":"Dart"},
{"name":"Tom", "lang": "Java"}
];
OpenDBRequest request = window.indexedDB.open("MyDatabase", 1);
// create the structure
request.onUpgradeNeeded.first.then((d) {
var db = request.result;
var objectStore = db.createObjectStore("people", { "keyPath":"name" });
// create an index
objectStore.createIndex("name", "name", { "unique": false });
// insert some data
data.forEach((record) => objectStore.add(record));
});
// query for item with the name="Chris"
request.onSuccess.first.then((v) {
var db = request.result;
var objectStore = db.transaction("people","readwrite").objectStore("people");
// query for the object where name = "Chris"
var requestedObject = objectStore.getObject("Chris");
requestedObject.onSuccess.first.then((val) {
// we've retrieved the value, print out fields
print(requestedObject.result["name"]); // Chris
print(requestedObject.result["lang"]); // "Dart"
});
});
}
参考文献: todo MVC の例のこの github コードとこれらのMDN ドキュメントを
使用して、IndexedDB (および Dart SDK + Editor 17463) を理解しました。