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

怎么查看网站是用什么编程语言开发的外贸网站如何做推广多少钱

怎么查看网站是用什么编程语言开发的,外贸网站如何做推广多少钱,制作医院网站,wordpress 语言设定最近项目中统一采用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.tj-hxxt.cn/news/231166.html

相关文章:

  • 提供网站建设优势代理网关app未运行
  • 国外永久浏览器网站内部优化
  • 个人网站网址快乐彩网站做
  • 学校联网网站建设seo怎么优化排名
  • 门户网站与搜索引擎的区别网站建好更新
  • 青海省城乡建设厅网站首页金华专业网站制作
  • 永州网站推广深圳网站建设ejaket
  • 做网站推广托管费用福建搜索引擎优化
  • 做创新方法工作网站51ape是谁做的网站
  • 网站开发无形资产wordpress免ftp
  • 广州网匠营销型网站建设公司吉林智能网站建设找哪家
  • html如何设置背景图片网站做优化每天一定要更新
  • 建设电子商务网站的意义wordpress 批量设置标签
  • 网站内链代码企业策划工作内容
  • 江西会昌建设局网站wordpress百度网盘
  • 建立网站用英语南京做机床的公司网站
  • 做通路富集分析的网站苏州高端网站建设开发
  • 网站开发的技术风险如何建网站做传奇网友
  • 电脑网站上的电影怎么下载网站查询服务器ip
  • 秦皇岛做网站网站服务器端口号是什么
  • 莆田网站建设五维网络有限公司介绍做网站的标题
  • 网站负责人核验照片医院网站绿色模板
  • 润滑油 东莞网站建设社交主题 wordpress
  • 微网站模板源代码wordpress调用导航
  • 网站的页面风格是什么做试客刷单的网站有哪些
  • 电子商务网站的建设目标网站建设费和网站维护费的区别
  • 网站代码怎么写网页版微信二维码不能直接识别
  • 做网站号码vis设计
  • 南京模板网站建设建网站的公司公司
  • 搞钱路子一天两万电影新网站如何做seo优化