Как вручную вызвать ошибку AsyncSnapshot с FutureBuilder - PullRequest
2 голосов
/ 25 мая 2020

Я пытаюсь вручную вызвать snapshot.hasError, когда вызывается future и получен ответ. Например, у меня есть будущее

   Future<dynamic> getJson() {
     Dio dio = Dio();
     var response = dio.get("https://www.jsononline.com/posts?id=9999");
     if (response.statusCode == 200) {
       return response;
     } else {
      // return AsyncSnapshot error
      }
    }

Я пробовал return AsyncSnapshot.withError(ConnectionState.done, "An error occurred");, но в FutureBuilder snapshot.hasError по-прежнему имеет значение null, вместо этого он переходит к snapshot.data.

Я хочу иметь возможность вызвать ошибку, если, например, я получаю сообщение 404.

1 Ответ

1 голос
/ 25 мая 2020

Возврат

return Future.error("Error Info", StackTrace.fromString("StackTrace Error message"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...