Zły stan: brak elementu

Sep 23 2020

chcę tylko wiedzieć, do czego to służy? a kiedy nadchodzi, czy jest to problem z 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);
                      }

Odpowiedzi

3 jitsm555 Sep 23 2020 at 20:33

Nie, to nie jest problem z API, jest z jakiegoś powodu

Spójrzmy na przykład, firstWherektóry pobiera ciąg kolorów z listy

Nieprawidłowy ciąg koloru

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

Wynik:

Nie znaleziono pasującego koloru

Prawidłowy ciąg kolorów

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

Wynik:

niebieski

Powyżej wszystkie są poprawnymi przypadkami, ale jeśli orElse()tam zaginie blok, zostanie wyrzuconyBadStateException

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

Wynik:

[VERBOSE-2: ui_dart_state.cc (171)] Nieobsłużony wyjątek: zły stan: brak elementu