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

官方网站建设必要性私人做医院的网站

官方网站建设必要性,私人做医院的网站,如何刷网站流量,湖北网站设计制作多少钱作为 Dart 开发人员&#xff0c;我们对异步编程和 Futures 的强大功能并不陌生。过去&#xff0c;当我们需要同时等待多个 future 时&#xff0c;我们依赖 Future.wait([]) 方法&#xff0c;该方法返回一个 List<T>。然而&#xff0c;这种方法有一个显着的缺点&#xff1…

作为 Dart 开发人员,我们对异步编程和 Futures 的强大功能并不陌生。过去,当我们需要同时等待多个 future 时,我们依赖 Future.wait([]) 方法,该方法返回一个 List<T>。然而,这种方法有一个显着的缺点:我们必须手动将结果转换为所需的类型,这可能会导致代码冗长且容易出错。

final results = await Future.wait([Future.value("andrew"),Future.value(1984),
]);
expect((results[0] as String).toUpperCase(), "ANDREW");
expect((results[1] as int).isNegative, false);

幸运的是,有一个更优雅的解决方案,它利用了扩展和 async/await 语法的强大功能: zipWith 扩展方法。

介绍 zipWith

zipWith 扩展方法允许您将两个 future 的结果组合成一个类型化元组,从而无需手动转换。它的工作原理如下:

final (name, year) = await Future.value("andrew").zipWith(Future.value(1984));
expect(name.toUpperCase(), "ANDREW");
expect(year.isNegative, false);

在此示例中,我们将合并两个 future 的结果:一个解析为字符串 “andrew”,另一个解析为整数 1984。该 zipWith 方法返回一个元组, (T, T2) 其中 T 是第一个未来的类型, T2 是第二个未来的类型。

但是等等,还有更多!您甚至可以链接多个 zipWith 调用来组合三个或更多 future 的结果:

final ((name, year), married) = await Future.value("andrew").zipWith(Future.value(1984)).zipWith(Future.value(false));
// ...
expect(married, false);

在此示例中,我们将三个 futures 组合在一起,从而生成一个嵌套元组 ((T, T2), T3)

引擎盖下

那么,zipWith 是如何施展魔法的呢?下面是实现方法:

extension FutureZipX<T> on Future<T> {Future<(T, T2)> zipWith<T2>(Future<T2> future2) async {late T result1;late T2 result2;await Future.wait([then((it) => result1 = it),future2.then((it) => result2 = it)]);return (result1, result2);}
}

结束语

通过利用 zipWith 的强大功能,您可以在处理多个异步操作时编写更简洁、更具表现力的代码。无需再手动转换或摆弄 List<dynamic> - 只需简洁、类型安全的元组,使您的代码更易于阅读和维护。

因此,下次当您发现自己要兼顾多个 future 时,请尝试一下 zipWith,体验 Dart 中简化异步编程的乐趣。

http://www.yayakq.cn/news/978373/

相关文章:

  • 本人找做钢筋笼的活网站网站后wordpress文章编辑页面
  • 人物设计网站医疗器械网站建设策划书
  • 招商网站建设免费使用flash做网站
  • 长湖南营销型网站旺道网站排名优化
  • .netcms网站管理系统wordpress自定义模板下载
  • 济南建设官方网站创建软件平台该怎么做
  • 网站建设花钱少磁力链网站怎么做的
  • 网站推广策划书模板网店代运营费用
  • 大连做优化网站哪家好东莞网络优化哪家公司好
  • 秦皇岛网站制作定制东坑镇做网站
  • 泰安集团网站建设费用兼职网站排行
  • 做网站设分辨率福鼎建设局网站
  • 坪山新区城市建设局网站一起做网店官网app
  • 什么是电子商务网站建设与管理如何在网站后台备份数据库
  • 网站建设课程设计实验报告软件开发公司网络安全管理制度
  • 临沂市建设局网站改版常用搜索网站
  • 网站制作高端网站建设网站建设分为哪些内容
  • 做微景观的网站小学生做网站步骤
  • 做英语听力音频的网站今天国际新闻最新消息
  • 美食网站界面设计广告主
  • 郑州高端定制网站新浪体育世界杯
  • 有什么专业做蛋糕的网站吗乡镇网站建设
  • 网站后台能进前台空白wordpress电影采集
  • 哪个网站可以做代练建设网站是什么意思
  • 西宁网站建设嘉荐君博l网站建设与网页设计可行性分析报告
  • 杭州市规划建设网站通江县城乡建设局门户网站
  • 临沂网站设计价格网站加速打开
  • 企业网站源码 html企业邮箱腾讯登录入口
  • 可以看电视剧的网站wordpress 分类子类名称
  • 租凭境外服务器做违规网站局域网内实现域名访问