await_ of_ incompatible_ type
Detalhes sobre o diagnóstico 'await_of_incompatible_type' produzido pelo analisador do Dart.
The 'await' expression can't be used for an expression with an extension type that is not a subtype of 'Future'.
Descrição
#
O analisador emite este diagnóstico quando o tipo da expressão em uma expressão await é um tipo de extensão, e esse tipo de extensão não é um subtipo de
Future.
Exemplo
#
O código a seguir produz este diagnóstico porque o tipo de extensão E não é um subtipo de
Future:
extension type E(int i) {}
void f(E e) async {
await e;
}
Correções comuns
#Se o tipo de extensão estiver corretamente definido, remova o await:
extension type E(int i) {}
void f(E e) {
e;
}
Se o tipo de extensão deve ser aguardável, adicione Future (ou um subtipo de Future) à cláusula
implements (adicionando uma cláusula implements se ainda não houver uma), e faça o tipo de representação corresponder:
extension type E(Future<int> i) implements Future<int> {}
void f(E e) async {
await e;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.