You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Future.delayed方法失效:调用方法无延迟立即执行

Flutter中Future.delayed延迟失效的解决方法

你遇到的问题是因为调用Future.delayed时,第二个参数传的是method()——这会立即执行method方法,并把它的返回值传给Future.delayed,而不是等延迟时间到了再触发方法。

正确的写法有两种:

  1. 直接传递方法引用(不带括号):
Future.delayed(const Duration(milliseconds: 300), method);
  1. 如果需要给方法传参数,用匿名函数包裹:
Future.delayed(const Duration(milliseconds: 300), () {
  method(yourParam1, yourParam2); // 这里可以按需传入参数
});

原因很简单:Future.delayed的第二个参数要求是一个VoidCallback类型的函数(无参数、无返回值的函数对象)。当你加了括号(),就变成了执行函数并取结果,而不是传递函数本身,自然会跳过延迟直接执行。

内容的提问来源于stack exchange,提问作者Othman Shawgan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:22:34