#database #flutter #listview #stream #floor
Вопрос:
Я хочу сделать два потока одновременно после того, как я посмотрел, я обнаружил, что решение использует Rx.combineLatest2, но я пытаюсь получить данные, но снимок bool, в нем нет элементов, я не могу использовать длину.
StreamBuilder(
stream: Rx.combineLatest2(mdb.getItems(), mdb.getBills(), (List<Item> item, List<Bills> bill) => item != null || bill != null),
builder: (BuildContext context, AsyncSnapshot<bool> snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (BuildContext context, int index) =>
Container(
child: Row(
children: [
Text(snapshot.data![index].billNumber),
Expanded(child: Text(
snapshot.data![index].client)),
],
),
)
);
}
else if (snapshot.hasError) {
return Text('${snapshot.error}');
} else {
return Center(child: CircularProgressIndicator());
}
}
)
как я могу получить данные из обоих потоков и является ли это лучшим выбором для получения двух потоков. Поток функционирует из локальной базы данных с использованием floor.