当前位置: 首页 > news >正文

Flutter鸿蒙版本灵活使用方法间的回调处理复杂化的逻辑

目录

写在前面

示例代码

main.dart:

one.dart:

代码解析

1. 主入口 main 函数

2. MyApp 类

3. CallbackExample 类

4. onok 函数

5. one 函数

写在后面


写在前面

在 Flutter 开发中,灵活使用函数之间的回调带来了多种好处,包括提高可重用性、简化异步编程、增强解耦设计以及提升用户体验。回调不仅使代码更易于理解和维护,还使得处理复杂逻辑变得简单且高效。因此,掌握回调函数的使用是 Flutter 开发者的重要技能。

示例代码

以下是我们将要讨论的完整代码:

main.dart:
import 'package:flutter/material.dart';import 'one.dart';void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Custom Callback Example',home: CallbackExample(),);}
}var age = "18";class CallbackExample extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Custom Callback Example'),),body: Center(child: ElevatedButton(onPressed: () {onok();},child: Text('开始任务'),),),);}
}onok() {one(123456789, "XIAOLI", (success) {if(success == true){print("age=$age");}else if(success == false){print("one函数回调false的逻辑");}});
}
one.dart:
Future<void> one(int? ID, String? name,Function(bool) callback) async {Map<String,dynamic>List = {'ID':ID,'name':name};var num = List.length;if(num!=0){callback(true);}
}

代码解析

1. 主入口 main 函数
void main() {runApp(MyApp());
}

main 函数是 Flutter 应用的入口点,它调用 runApp 函数来启动应用。这里我们传入一个 MyApp 实例。

2. MyApp 类
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Custom Callback Example',home: CallbackExample(),);}
}

MyApp 是应用的根组件,返回一个 MaterialApp,它设置了应用的标题和主页。在这个例子中,主页是 CallbackExample

3. CallbackExample 类
class CallbackExample extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Custom Callback Example'),),body: Center(child: ElevatedButton(onPressed: () {onok();},child: Text('开始任务'),),),);}
}

CallbackExample 是一个无状态组件,其中包含一个 ElevatedButton 按钮。当用户点击按钮时,将调用 onok 函数。

4. onok 函数
void onok() {one(123456789, "XIAOLI", (success) {if (success == true) {print("age=$age");} else if (success == false) {print("one函数回调false的逻辑");}});
}

onok 函数调用 one 函数,传入三个参数:一个 ID(123456789)、一个 name("XIAOLI")以及一个回调函数。回调函数接受一个布尔值 success,用于判断操作是否成功。

  • 如果 success 为 true,打印 age 的值。
  • 如果 success 为 false,打印一条失败的逻辑。
5. one 函数
Future<void> one(int? ID, String? name, Function(bool) callback) async {Map<String, dynamic> list = {'ID': ID,'name': name};var num = list.length;// 如果数据不为空,则调用回调函数并返回成功状态if (num != 0) {callback(true);} else {callback(false);}
}

one 函数模拟了一个异步操作,它接受三个参数:IDname 和一个回调函数 callback

  • 使用 Map 将 ID 和 name 存储为键值对。
  • 计算 list 的长度,如果不为0,调用回调函数并传入 true;否则传入 false

写在后面

通过这个简单的示例,我们展示了如何在 Flutter 中实现函数调用和回调的基本使用。回调函数是处理异步操作的有效方式,它允许我们在操作完成后执行特定的逻辑。

这种模式非常适合在网络请求、文件处理或其他需要异步操作的场景中使用。通过使用回调,我们能够在操作完成后获取结果,并根据结果做出相应的处理。这种灵活性使得代码更具可读性和可维护性。

在实际应用中,你可以根据需要修改回调函数,以实现更复杂的逻辑。这种方式可以大大增强你的 Flutter 应用的响应能力和用户体验。

http://www.lryc.cn/news/459819.html

相关文章:

  • 视频号直播自动回复与循环发送话术-自动化插件
  • springcloud之服务集群注册与发现 Eureka
  • C++:模拟实现list
  • 解锁5 大无水印热门短视频素材库
  • 【电商购物管理系统】Python+Django网页界面平台+商品管理+数据库
  • AD9248驱动的简易示波器设计——FPGA学习笔记21
  • 微软十月补丁星期二发现了 118 个漏洞
  • 到底是微服务,还是SOA?
  • JDK17常用新特性
  • 【分布式微服务云原生】探索负载均衡的艺术:深入理解与实践指南
  • 拥抱云原生
  • 关于使用若依并快速构建系统的操作指南
  • 【分布式微服务云原生】 选择SOAP还是RESTful API?深入探讨与实践指南
  • HarmonyOS NEXT 应用开发实战(五、页面的生命周期及使用介绍)
  • C# 比较两个集合和比较对象
  • Spark高级用法-自定义函数
  • 『Mysql进阶』Mysql explain详解(五)
  • 【工具】音视频翻译工具基于Whisper+ChatGPT
  • 学成在线——关于nacos配置优先级的坑
  • Nginx在Windows Server下的启动脚本
  • 【国科大】C++程序设计秋季——五子棋
  • Docker 环境下多节点服务器监控实战:从 Prometheus 到 Grafana 的完整部署指南
  • 【动手学深度学习】6.3 填充与步幅(个人向笔记)
  • 【宝可梦】游戏
  • docker启动的rabbitmq如何启动其SSL功能
  • 易基因: cfMeDIP-seq揭示cfDNA甲基化高效区分原发性和转移性前列腺|Nat Commun
  • CMake 教程跟做与翻译 4
  • MySQL面试题分享
  • vue路由缓存问题
  • RabbitMQ中如何解决消息堆积问题,如何保证消息有序性