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

Dart/Flutter中如何添加等待时间 实现if else代码块间延迟执行

Dart/Flutter 代码执行间隔实现方案

Dart中实现两段代码的延迟间隔,使用Future.delayed搭配await关键字即可,注意包含这段逻辑的函数需要标记为async。

代码示例

// 包含逻辑的函数必须添加async关键字
void executeLogic() async {
  if(test == true) {
    print("Hello");
    // 此处添加5秒延迟
    await Future.delayed(const Duration(seconds: 5));
    print("This hello after 5 seconds");
  }
}

注意事项

  • Duration类支持多种时间单位配置,除了seconds外,还可以使用milliseconds(毫秒)、microseconds(微秒)、minutes(分钟)等参数实现不同长度的延迟
  • 如果是在Flutter的StatefulWidget中使用该逻辑,比如延迟后更新页面状态、跳转路由、弹出提示,建议在执行后续逻辑前判断组件是否仍处于挂载状态,避免内存泄漏或运行异常:
void executeLogic() async {
  if(test == true) {
    print("Hello");
    await Future.delayed(const Duration(seconds: 5));
    // 仅组件挂载时执行后续逻辑
    if (mounted) {
      print("This hello after 5 seconds");
    }
  }
}

内容的提问来源于stack exchange,提问作者Learning Code

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:24:01