Por causa do setState alterando o atributo de loading, quando damos um back e o processamento ainda não acabou, acaba resultando em uma Exception não tratada. E o usuário acaba não vendo a mensagem de erro ou de sucesso da tela anterior.
Qual é a melhor forma de lidar com essa situação de mudança de tela antes da finalização de uma chamada assíncrona?
E/flutter (24817): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: setState() called after dispose(): _TransactionFormState#7e2a7(lifecycle state: defunct, not mounted)