UnityWebRequestAsync学习笔记

请大家关注我的微博:@NormanLin_BadPixel坏像素


我们看到,其实这是一个用异步方法调用UnityWebRequest的东西。至于UnityWebRequest是什么东西,大家可以去看看官方文档,如果官方文档看不懂怎么用,那么就去百度谷歌吧。

public Task<bool> DownloadAsync(string url)
{this.tcs = new TaskCompletionSource<bool>();url = url.Replace(" ", "%20");this.Request = UnityWebRequest.Get(url);this.Request.Send();return this.tcs.Task;
}

当开始传入一个地址,让我们从该地址下载数据时,我们就创建了一个Task。需要注意的是,url地址是不能包含空格的,所以,我们需要把地址序列化一下,而”%20”就是序列化后的空格符。

我们看官方的例子里是在协程里等待下载完成的,这里我们用到了异步的方式,那么,我们是在哪里结束这个任务呢?

public void Update()
{if (this.isCancel){this.tcs.SetResult(false);return;}if (!this.Request.isDone){return;}if (!string.IsNullOrEmpty(this.Request.error)){this.tcs.SetException(new Exception($"request error: {this.Request.error}"));return;}this.tcs.SetResult(true);
}

我们在添加这个组件的时候就已经注册了Update事件,所以这个会在每次系统调用Update的时候执行。我们看到,每次执行的时候会判断UnityWebRequest是否已经完成了,或者被取消了,或者出错了。当UnityWebRequest正常完成的时候,也就是我们任务完成的时候。this.tcs.SetResult(true)

ET框架---UnityWebRequestAsync学习笔记相关推荐

  1. ssm 转发请求_千呼万唤!阿里内部终于把这份SSM框架技术学习笔记分享出来了...

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

  2. php mvc 路由,PHP MVC框架路由学习笔记

    文章主要介绍了PHP MVC框架路由学习笔记的相关资料,需要的朋友可以参考下. 提到PHP开发web,自然离不开开发框架,开发框架为我们提供了灵活的开发方式,MVC层分离,业务解耦等... 第一篇先来 ...

  3. 轻量级HTTP客户端框架—Forest学习笔记

    轻量级HTTP客户端框架-Forest学习笔记 一.Forest 1.1 业务需求 一般情况下是后端提供接口,前端调用,解决需求,但是有的时候为了方便,复用别人的接口(网上的,公共的第三方接口(短信. ...

  4. php怎么自己写框架,PHP学习笔记,自己动手写个MVC的框架

    最新在大家自己的博客的过程中,发现各种开源的博客系统都或多或少的用起来别扭.于是想动手自己写个博客系统.既然写,就想好好写.那就先写个MVC框架.一点一点来.写的过程中有很多想法.还希望大家能够多多指 ...

  5. Vue.js构建用户界面的渐进式框架(前端学习笔记1.0)

    文章目录 前言 一.Vue是什么? 二.前端核心分析 1.1.概述 1.2.前端三要素 1.3.结构层(HTML) 1.4.表现层(CSS) 1.5.行为层(JavaScript) 二.前端发展史 2 ...

  6. ET框架---ActorComponent学习笔记

    ActorComponent 请大家关注我的微博:@NormanLin_BadPixel坏像素 /// <summary> /// 挂上这个组件表示该Entity是一个Actor, 它会将 ...

  7. ET框架---ClientDispatcher学习笔记

    ClientDispatcher学习笔记 请大家关注我的微博:@NormanLin_BadPixel坏像素 public class ClientDispatcher: IMessageDispatc ...

  8. ET框架---DBComponent学习笔记

    DBComponent学习笔记 请大家关注我的微博:@NormanLin_BadPixel坏像素 public MongoClient mongoClient; public IMongoDataba ...

  9. ET框架---PlayerComponent学习笔记

    PlayerComponent学习笔记 请大家关注我的微博:@NormanLin_BadPixel坏像素 public Player MyPlayer; private readonly Dictio ...

  10. ET框架---DBProxyComponent学习笔记(完善MessageDispatherComponent学习笔记)

    DBProxyComponent 这个组件跟LocationProxyComponent很像,也是服务器之间通信的组件.而DBProxyComponent应该是跟管理数据库服务的服务器通信的组件. 我 ...

最新文章

  1. hbuilderX的upx单位是什么鬼?
  2. Blockchain实现详细手册
  3. 网络营销——网络营销专员浅析网站推广营销关键词是重点
  4. SpringBoot和SpringSecurity整合,未登录请求自定义controller访问前端页面,出现 302状态码,一直在登录页面重定向
  5. access 提供程序无法确定object 值_Python | 加一行注释,让你的程序提速10+倍!numba库十分钟上手指南...
  6. 阿里云供应链大赛-榜单
  7. 小米 MySQL 数据实时同步到大数据数仓的架构与实践
  8. InfluxDB 简介、安装和简单使用
  9. 谷歌浏览器打开链接,如何不是覆盖当前页面而自动跳转到新标签页?
  10. 山东工商学院第五届ACM趣味编程大赛感想
  11. Centos服务器ssh登录设置密钥对登录
  12. 负反馈放大电路实验报告
  13. 条件随机场介绍(2)—— An Introduction to Conditional Random Fields
  14. 区块链的架构,特点和优势
  15. 远程驾驶一般怎么实现
  16. oracle系统pga,oracle教程之PGA管理
  17. 解决百度地图内存泄露问题
  18. 5G移动通信系统设计与标准详解 个人整理(PDF和Word)
  19. 迅雷,电驴通过利用URL Protocol实现网页调用本地应用程序
  20. 俄罗斯方块之三——Block类

热门文章

  1. 还记得2048怎么玩吗?快来玩会儿(摸鱼)吧
  2. 2022年全球与中国微型电机市场展望
  3. protocol buffer与json对比
  4. 机器学习:最小二乘支持向量机(Least Squares Support Vector Machine)
  5. 最小二乘支持向量机(基于MATLAB)
  6. 集成测试之自顶向下、自底向上、三明治集成
  7. 北斗卫星导航系统基础篇之(二)
  8. 浅谈Radius协议
  9. 现浇板弹性计算还是塑性计算_板塑性与弹性.doc
  10. 如何自定义MATLAB神经网络激活函数