我想让我的小部件在几秒钟后消失,但是它一直处于等待状态。
if (unread != 0 && (getMessageObjects.length - count) == unread - 1) {
_groupedMessages.add(
FutureBuilder(
future: Future.delayed(Duration(milliseconds: 500)),
builder: (c, s) => s.connectionState == ConnectionState.done
? Container(
child: Chip(
label: Text('Finished'),
),
)
: Center(
child: Chip(
label: Text('${unread.toString()} unread messages'),
),
),
),
);
// reset
}
_groupedMessages是一个列表。我不知道是否还有其他方法,但是请告诉我是否存在。
答案 0 :(得分:0)
您的代码看起来很奇怪,但我们需要查看其余代码。
首先想到的是,您确定未来不会不断被重建,因此没有机会完成吗?
您还想显示一条消息,指出500ms的计数然后隐藏它,这似乎也很奇怪。
为什么还要人为地延误?
我猜测您需要从服务器获取计数,在这种情况下,将来应该包含对服务器的调用并在返回结果时完成。
我希望UI会显示一条消息“正在提取消息”,然后在提取完成后更改为“未读消息x”。
但是鉴于您提供的上下文数量有限,这些只是猜测。