Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
796 of 1024 menu
◀ ▶

Класс AsyncSnapshot

Класс AsyncSnapshot передают в builder у FutureBuilder и StreamBuilder. Поле connectionState берёт значения ConnectionState. Готовые данные лежат в data, сбой в error.

Синтаксис

AsyncSnapshot.withData(ConnectionState.done, 'abcde')

Параметры

Параметр Описание
connectionState Ждёт данные, уже получил или поток закрыт. Принимает ConnectionState.
data Последнее успешное значение.
error Ошибка, если запрос завершился сбоем.

Пример

Давайте прочитаем data из snapshot FutureBuilder:

import 'package:flutter/material.dart'; Future<String> ready() async => 'abcde'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: FutureBuilder<String>( future: ready(), builder: (context, snapshot) { if (snapshot.hasData) { return Text(snapshot.data!); } return const Text('12345'); }, ), ), ), ), ); }

На экране AsyncSnapshot с hasData покажет 'abcde'.

Пример

Давайте создадим snapshot вручную и выведем connectionState:

import 'package:flutter/material.dart'; void main() { final snap = AsyncSnapshot<String>.withData( ConnectionState.done, '12345', ); print(snap.connectionState == ConnectionState.done); print(snap.data); }

Результат выполнения кода

true 12345

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить