在不使用 StreamBuilder 的情况下从 Stream class 获取数据
Get data from Stream class without using StreamBuilder
我想在不使用 StreamBuilder 的情况下从 Stream 函数获取数据。我如何实现这一目标?下面是我想从中获取数据的函数。
Stream<List<Person>> watchAllPersons(limit, offset) => select(persons).watch();
下面是我想在不使用 StreamBuilder 的情况下从 watchAllPersons()
获取数据的函数。
var xtraPersonsData;
int limit = 12;
int offset = 5;
Future loadMoreItems() {
final personDao = Provider.of<PersonDao>(context);
var getXtraPersons = personDao.watchAllPersons(limit, offset);
StreamBuilder(
stream: getXtraPersons, // a Stream<int> or null
builder: (BuildContext context, AsyncSnapshot snapshot) {
var xtraPersons = snapshot.data ?? List();
setState(() {
xtraPersonsData = xtraPersons;
});
debugPrint('persons: ' + persons.toString());
// return;
},
);
}
我正在用上面 StreamBuilder 中的新数据更新 xtraPersonsData
变量。这不起作用,因为 xtraPersonsData
正在返回 null
。
注意 loadMoreItems()
中的 我想在不使用 StreamBuilder 的情况下从 getXtraPersons
获取数据。
我想在不使用 StreamBuilder 的情况下从 Stream 函数获取数据。我如何实现这一目标?下面是我想从中获取数据的函数。
Stream<List<Person>> watchAllPersons(limit, offset) => select(persons).watch();
下面是我想在不使用 StreamBuilder 的情况下从 watchAllPersons()
获取数据的函数。
var xtraPersonsData;
int limit = 12;
int offset = 5;
Future loadMoreItems() {
final personDao = Provider.of<PersonDao>(context);
var getXtraPersons = personDao.watchAllPersons(limit, offset);
StreamBuilder(
stream: getXtraPersons, // a Stream<int> or null
builder: (BuildContext context, AsyncSnapshot snapshot) {
var xtraPersons = snapshot.data ?? List();
setState(() {
xtraPersonsData = xtraPersons;
});
debugPrint('persons: ' + persons.toString());
// return;
},
);
}
我正在用上面 StreamBuilder 中的新数据更新 xtraPersonsData
变量。这不起作用,因为 xtraPersonsData
正在返回 null
。
注意 loadMoreItems()
中的 我想在不使用 StreamBuilder 的情况下从 getXtraPersons
获取数据。