目录
写在前面
示例代码
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 {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'Custom Callback Example',
- home: CallbackExample(),
- );
- }
- }
- var age = "18";
- class CallbackExample extends StatelessWidget {
- @override
- Widget 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 {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'Custom Callback Example',
- home: CallbackExample(),
- );
- }
- }
复制代码 MyApp 是应用的根组件,返回一个 MaterialApp,它设置了应用的标题和主页。在这个例子中,主页是 CallbackExample。
3. CallbackExample 类
- class CallbackExample extends StatelessWidget {
- @override
- Widget 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 函数模仿了一个异步操作,它担当三个参数:ID、name 和一个回调函数 callback。
- 使用 Map 将 ID 和 name 存储为键值对。
- 计算 list 的长度,如果不为0,调用回调函数并传入 true;否则传入 false。
写在后面
通过这个简朴的示例,我们展示了怎样在 Flutter 中实现函数调用和回调的根本使用。回调函数是处置惩罚异步操作的有效方式,它答应我们在操作完成后执行特定的逻辑。
这种模式非常得当在网络请求、文件处置惩罚或其他需要异步操作的场景中使用。通过使用回调,我们能够在操作完成后获取效果,并根据效果做出相应的处置惩罚。这种机动性使得代码更具可读性和可维护性。
在实际应用中,你可以根据需要修改回调函数,以实现更复杂的逻辑。这种方式可以大大加强你的 Flutter 应用的相应能力和用户体验。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |