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

dart 学习之 异步操作

import 'package:dio/dio.dart';// 定义一个异步函数,用于获取 URL 的内容
Future<String> getUrl(String url) async {Dio dio = Dio();Response response = await dio.get(url);return response.data;
}void main() async {// 在主函数中执行异步操作var content = await getUrl("https://baidu.com");print(content);
}

Future 和 异步函数:

在 Dart 中,使用 Future 类表示一个可能异步返回的值。它类似于 JavaScript 中的 Promise。
Future 表示一个将会异步返回一个字符串的 Future。
async 关键字用于将函数标记为异步函数,它允许在函数体内使用 await。
await 关键字:

await 关键字用于等待一个异步操作完成。当 await 后面的表达式返回一个 Future,当前函数的执行会被暂停,直到 Future 完成并返回结果。
在这个例子中,await dio.get(url) 表示等待 Dio 发起 GET 请求,并等待服务器响应返回。
main 函数中的异步调用:

在 Dart 的 main 函数中,使用 async 关键字将函数标记为异步函数,以便在函数内部使用 await。
在 main 函数中使用 await getUrl(“https://baidu.com”),意味着它会等待 URL 内容的获取完成,然后将结果赋值给变量 content。
print 异步结果:

一旦 getUrl 函数的异步操作完成,await 表达式将返回异步操作的结果,这里是响应的数据内容。
这个结果会赋值给变量 content,然后使用 print(content) 打印出来。
总之,Dart 使用 async 和 await 机制来处理异步操作,使得处理异步代码变得更加直观和可读,避免了回调地狱。在上面的例子中,异步操作是获取 URL 内容,但这个模式同样适用于其他异步任务,比如文件读写、网络请求、数据库操作等。

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

相关文章:

  • 《Flink学习笔记》——第二章 Flink的安装和启动、以及应用开发和提交
  • 网易新财报:游戏稳、有道进、云音乐正爬坡
  • Docsify的评论系统gitalk配置过程
  • HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context使用场景二
  • 数字货币量化交易平台
  • 2022 ICPC 济南 E Identical Parity (扩欧)
  • 【BUG事务内消息发送】事务内消息发送,事务还未结束,消息发送已被消费,查无数据怎么解决?
  • 数据分析作业四-基于用户及物品数据进行内容推荐
  • 在腾讯云服务器OpenCLoudOS系统中安装svn(有图详解)
  • C语言日常刷题5
  • 【LeetCode-中等题】73. 矩阵置零
  • 本地部署 FastGPT
  • 软件工程(十八) 行为型设计模式(四)
  • Socket通信与WebSocket协议
  • 新KG视点 | Jeff Pan、陈矫彦等——大语言模型与知识图谱的机遇与挑战
  • 详解过滤器Filter和拦截器Interceptor的区别和联系
  • List常用的操作
  • Android studio APK切换多个摄像头(Camera2)
  • ChatGPT 对教育的影响,AI 如何颠覆传统教育
  • Spring(九)声明式事务
  • java中用HSSFWorkbook生成xls格式的excel(亲测)
  • 做平面设计一般电脑可以吗 优漫动游
  • 设计模式备忘录+命令模式实现Word撤销恢复操作
  • Linux centos7 bash编程小训练
  • 创作2周年纪念日-特别篇
  • 【UE5】用法简介-使用MAWI高精度树林资产的地形材质与添加风雪效果
  • 兼容AD210 车规级高精度隔离放大器:ISO EM210
  • R语言常用数组函数
  • 前端开发之Element Plus的分页组件el-pagination显示英文转变为中文
  • 基于Java+SpringBoot+Vue前后端分离社区医院管理系统设计和实现