不良状态:无元素

Yah*_*var 3 dart flutter

我只是想知道那是做什么用的?当它到来时,是 API 问题吗?

         BlocBuilder<OrderBloc, OrderState>(
                  builder: (context, finalstate) {
                    if (state is OrderLoaded) {
                      for (var item in state.orderSent) {
                        totalweightsforsent.add(item.totalWeight);
//right here when i fetch the data from API and when it is done it is not going forward anymore
                      }
                      for (var item in state.orderPackaging) {
                        totalforpacking.add(item.totalWeight);
                      }
Run Code Online (Sandbox Code Playgroud)

jit*_*555 6

不,这不是 API 问题,它的存在是出于某种原因

firstWhere让我们看一下从列表中获取颜色字符串的示例

无效的颜色字符串

void main() {
  List<String> list = ['red', 'yellow', 'pink', 'blue'];
  var newList = list.firstWhere((element) => element.contains('green'), 
      orElse: () => 'No matching color found');
  print(newList);
}
Run Code Online (Sandbox Code Playgroud)

输出:

找不到匹配的颜色

有效颜色字符串

 void main() {
      List<String> list = ['red', 'yellow', 'pink', 'blue'];
      var newList = list.firstWhere((element) => element.contains('blue'), 
          orElse: () => 'No matching color found');
      print(newList);
    }
Run Code Online (Sandbox Code Playgroud)

输出:

蓝色的

上面,所有都是有效的情况,但是如果orElse()块在那里丢失,它会抛出 BadStateException

void main() {
  List<String> list = ['red', 'yellow', 'pink', 'blue'];
  var newList = list.firstWhere((element) => element.contains('green'));
  print(newList);
}
Run Code Online (Sandbox Code Playgroud)

输出:

[VERBOSE-2:ui_dart_state.cc(171)] 未处理的异常:错误状态:没有元素