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

怎么查看网站是用什么编程语言开发的手机提取网页视频下载

怎么查看网站是用什么编程语言开发的,手机提取网页视频下载,广州番禺区工商职业技术学校,如何制作橡皮泥 简单最近项目中统一采用Kotlin的Flow来重构了网络请求相关代码。 目前的场景是#xff0c;接口在请求的时候需要一个accessToken值#xff0c;因为此值会过期或者不存在#xff0c;需要刷新#xff0c;因此最终方案是在使用Flow请求的时候先获取accessToken值然后再进行接口请求… 最近项目中统一采用Kotlin的Flow来重构了网络请求相关代码。 目前的场景是接口在请求的时候需要一个accessToken值因为此值会过期或者不存在需要刷新因此最终方案是在使用Flow请求的时候先获取accessToken值然后再进行接口请求而获取accessToken值的方法已经封装成了一个Flow并且做了缓存因此最后需要使用flatMapConcat操作符来连接真正需要的接口请求如果获取的accessToken无效又需要回头重新执行逻辑如下 判断本地是否存在accessToken并且是否过期不存在或者已过期则请求accessToken请求对应的接口如果返回结果中accessToken无效则重试 Flow提供了retry和retryWhen两种扩展方法来做重试操作 retry源码 public fun T FlowT.retry(retries: Long Long.MAX_VALUE,predicate: suspend (cause: Throwable) - Boolean { true } ): FlowT {require(retries 0) { Expected positive amount of retries, but had $retries }return retryWhen { cause, attempt - attempt retries predicate(cause) } }retryWhen源码 public fun T FlowT.retryWhen(predicate: suspend FlowCollectorT.(cause: Throwable, attempt: Long) - Boolean): FlowT flow {var attempt 0Lvar shallRetry: Booleando {shallRetry falseval cause catchImpl(this)if (cause ! null) {if (predicate(cause, attempt)) {shallRetry trueattempt} else {throw cause}}} while (shallRetry)}但是retry和retryWhen只能通过异常来判断如果是通过返回结果来判断就需要借助外部变量来处理了因此基于源码扩展了方法retry可以接收请求结果从而通过请求结果来判断是否需要重试。 fun T FlowT.retry(retries: Long Long.MAX_VALUE, predicate: suspend (result: T) - Boolean { true } ): FlowT {require(retries 0) { Expected positive amount of retries, but had $retries }return flow {var attempt 0Lvar shallRetry: Booleando {shallRetry falsetry {collect {if (attempt retries predicate(it)) {shallRetry trueattempt} else {this.emit(it)}}} catch (e: Throwable) {throw e}} while (shallRetry)} }最后的请求示例代码如下 MainScope().launch {getToken().flatMapConcat {if (it is Result.Success) {sendMobileCode()} else {emptyFlow()}}.retry(1) {returnretry (it is Result.Failure) (it.code ErrorStatus.ACCESS_TOKEN_ERROR)}.flowOn(Dispatchers.IO).onStart {callback?.onStart()}.catch {callback?.onError(it)}.onCompletion {callback?.onComplete(it)}.collectLatest { result -}}感谢大家的支持如有错误请指正如需转载请标明原文出处
http://www.dnsts.com.cn/news/53518.html

相关文章:

  • 网站推广的方案设计怎么写新版的百度网址大全
  • 网站页面图片尺寸企业形象设计课程
  • 一站式平台网站开发技术wordpress换中文
  • wordpress英文站更新通知目录站点传统的推广方式主要有
  • 网站的常用技术有哪些网页打不开的原因及解决方法
  • 网站设计模板简约建设网站的方案
  • 安吉网站制作简历模板大学生
  • 嘉兴手机端建站模板固安建设网站
  • 简述电子商务网站建设的主要步骤wordpress挂下载链接
  • 温州网站建设活动wordpress商务版插件
  • 关于网站建设征求意见网站开发属于哪个类目
  • 汽车宣传网站模板wordpress修改标签
  • 昆山广告设计公司广州seo顾问
  • 帮朋友做网站公共资源交易中心职能
  • 辽宁网站建设fengyan网页设计步骤及方法
  • 北京房产网站大全北京易思腾网站建设
  • 做一些网站犯法么云上铺会员管理系统
  • 建设网站的作用及意义襄阳seo推广
  • 哪家外贸网站做的好网上购物网站
  • 淘宝的网站建设方案WordPress网站自媒体模板
  • 做网站怎样写标题seo是什么意思职业
  • 怎么用wordpress建电商网站吗推广软文代发
  • 台州网站设计公司网站wpautop wordpress
  • 电子商务网站推广方案小游戏开发需要多少钱
  • 南京网络建站公司wordpress mysql调整
  • 山西省建设信息网站泰安seo公司
  • html怎么做网站后台建设网站的结束语
  • 美食网站建设设计方案上海一 网站建设公司
  • 自己做网站需要的技术app开发的价格清单
  • 一个网站想看访客量怎么做wordpress woocommerce主题