Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 未处理的异常-颤振_Dart_Flutter - Fatal编程技术网

Dart 未处理的异常-颤振

Dart 未处理的异常-颤振,dart,flutter,Dart,Flutter,我是一个新手,通过youtube上关于notodo_应用程序的教程学习。所以我遵循同样的代码,并且已经尝试重写了几乎所有的东西,但是当我开始使用initstate时,setstate 与设置状态相关的代码 final List<NoDoItem> _itemList = <NoDoItem>[]; @override void initState() { super.initState(); _readNoDoList(); } void _handleSubm

我是一个新手,通过youtube上关于notodo_应用程序的教程学习。所以我遵循同样的代码,并且已经尝试重写了几乎所有的东西,但是当我开始使用initstate时,setstate

与设置状态相关的代码

final List<NoDoItem> _itemList = <NoDoItem>[];

@override
void initState() {
 super.initState();
 _readNoDoList();
}


void _handleSubmitted(String text) async {
 _textEditingController.clear();

 NoDoItem noDoItem = NoDoItem(text, DateTime.now().toIso8601String());
 int savedItemId = await db.saveItem(noDoItem);
 NoDoItem addedItem = await db.getItem(savedItemId);
 setState(() {
  _itemList.insert(0, addedItem); 
 });
 print("Item saved id: $savedItemId");
}

_readNoDoList() async {
 List items = await db.getItems();
 items.forEach((item) {
   NoDoItem noDoItem = NoDoItem.map(item);
   print("Db items: ${noDoItem.itemName}");
 });
}

下面的示例在其数据库\u client.dart文件上有错误,具体导致递归/堆栈溢出异常。请从返回数据库更新第22行的代码到返回_db现在应该可以工作了

Future<Database> get db async {
    if (_db != null) {
      return _db; // return db; throws a Stack Overflow Exception / recursion
    }
    _db = await initDb();
    return _db;
  }
Future get db async{
如果(_db!=null){
return _db;//return db;引发堆栈溢出异常/递归
}
_db=等待initDb();
返回_db;
}

这就解决了问题!实际上,我没有附加数据库_client.dart,但这个问题可能与所有遵循本教程的人类似。谢谢你!
Future<Database> get db async {
    if (_db != null) {
      return _db; // return db; throws a Stack Overflow Exception / recursion
    }
    _db = await initDb();
    return _db;
  }