如何使用Dart打开IndexedDB数据库?

如何使用Dart打开IndexedDB数据库?,dart,indexeddb,Dart,Indexeddb,如何使用IndexedDB和Dart打开数据库?该API与JavaScript不完全相同。新的IndexedDB API使用Dart对流和未来的支持。以下是使用Dart M3或更高版本打开IndexedDB数据库的方法: 导入'dart:html'; 导入“dart:indexed_db”; 导入“dart:async”; 未来的openDatabase(String dbName、String storeName、{int version:1}){ 返回window.indexedDB.ope

如何使用IndexedDB和Dart打开数据库?该API与JavaScript不完全相同。

新的IndexedDB API使用Dart对流和未来的支持。以下是使用Dart M3或更高版本打开IndexedDB数据库的方法:

导入'dart:html';
导入“dart:indexed_db”;
导入“dart:async”;
未来的openDatabase(String dbName、String storeName、{int version:1}){
返回window.indexedDB.open(dbName,version:version,
需要:(e){
数据库db=e.target.result;
如果(!db.objectStoreNames.contains(storeName)){
db.createObjectStore(storeName);
}
});
}
main(){
openDatabase('test-db','teststore')。然后((Database-db){
//做数据库工作
});
}
在这段代码中,
window.indexedDB.open
调用返回一个
Future
,在数据库打开时完成


当数据库的版本与指定的版本不匹配时,将运行
onUpgradeNeeded
功能。

注意,这是在版本18338中添加的。这仅仅是在(当前)最后一次集成构建之后。也就是说,如果您使用的是稳定版本的编辑器,则必须继续使用旧语法,直到下一次稳定更新(很可能是今天2月18日星期一晚些时候)。这是否也需要“dart:async”来处理将来的问题?您好,当我试图导入软件包dart:indexed_db时,它甚至没有显示在建议列表中。我们需要配置什么吗?我已经成功地创建了一个从API加载数据的页面,它工作得很好,但我必须使用索引数据库