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

wordpress用thinkphp重庆seo推广运营

wordpress用thinkphp,重庆seo推广运营,深圳龙岗横岗疫情通报,网红营销价值这个问题非常有意思,我一看到就想了很多可以回复的答案,但是评论区太窄,就直接开一篇文章来写了。 审题 JS 发起的请求可以暂停吗?这一句话当中有两个概念需要明确,一是什么样的状态才能称之为 暂停?二是…

这个问题非常有意思,我一看到就想了很多可以回复的答案,但是评论区太窄,就直接开一篇文章来写了。

审题

JS 发起的请求可以暂停吗?这一句话当中有两个概念需要明确,一是什么样的状态才能称之为 暂停?二是 JS 发起的请求 是什么?

怎么样才算暂停?

暂停 全称暂时停止,在已开始未结束的过程中临时停止可以称之为暂停,意味着这个过程可以在某个时间点截断然后在另一个时间点重新续上。

请求应该是什么?

这里得先介绍一下 TCP/IP 网络模型, 网络模型自上而下分为 应用层、传输层、网络层和网络接口层。

image.png

上图表示的意思是,每次网络传输,应用数据在发送至目标前都需要通过网络模型一层一层的包装,就像寄快递一样,把要寄的物品先打包好登记一下大小,再装在盒子里登记一下目的地,然后再装到车上,最后送往目的地。

请求(Request) 这个概念就可以理解为客户端通过若干次数据网络传输,将单份数据完整发给服务端的行为,而针对某次请求服务端往客户端发送的答复数据则可以称之为 响应(Response)

理论上应用层的协议可以通过类似于标记数据包序列号等等一系列手段来实现暂停机制。但是 TCP 协议并不支持,TCP 协议的数据传输是流式的,数据被视为一连串的字节流。客户端发送的数据会被拆分成多个 TCP 段(TCP segments),而这些段在网络中是独立传输的,无法直接控制每个 TCP 段的传输,因此也无法实现暂停请求或者暂停响应的功能。

image.png

解答提问

如果请求是指网络模型中的一次请求传输,那理所当然是不可能暂停的。

来看看提问者的使用场景 —— JS 发起的请求,那么可以认为问题当中的请求,应该是指在 JS 运行时中发起的 XMLHttpRequest 或者是 fetch 请求,而请求既然已经发起,那问的自然就是 响应是否能够被暂停 。

我们都知道像大文件分片上传、以及分片下载之类的功能本质上是将分片顺序定好之后按顺序请求,然后就可以通过中断顺序并记录中断点来实现暂停重传的机制,而单个请求并不具备这样的环境。

用 JS 实现 ”假暂停” 机制

虽然不能真正意义上实现暂停请求,但是我们其实可以模拟一个 假暂停 的功能,在前端的业务场景上,数据不是收到就可以直接打在客户脸上的(什么光速打击),前端开发者需要对这些数据进行处理之后渲染在界面上,如果我们能在请求发起之前增加一个控制器,在请求回来时,如果控制器为暂停状态则不处理数据,等待控制器恢复后再进行处理,是不是也能到达到目的?让我们试着实现一下。

假如我们使用 fetch 来请求。我们可以设计一个控制器 Promise 和请求放在一起用 Promise.all 包裹,当 fetch 完成时判断这个控制器的暂停状态,如果没有被暂停,则控制器也直接 resolve,同时整个 Promise.all 也 resolve 抛出。

function _request () {return new Promise<number>((res) => setTimeout(() => {res(123)}, 3000))
}// 原本想使用 class extends Promise 来实现
// 结果一直出现这个问题 https://github.com/nodejs/node/issues/13678
function createPauseControllerPromise () {const result = {isPause: false,resolveWhenResume: false,resolve (value?: any) {},pause () {this.isPause = true},resume () {if (!this.isPause) returnthis.isPause = falseif (this.resolveWhenResume) {this.resolve()}},promise: Promise.resolve()}const promise = new Promise<void>((res) => {result.resolve = res})result.promise = promisereturn result
}function requestWithPauseControl <T extends () => Promise<any>>(request: T) {const controller = createPauseControllerPromise()const controlRequest = request().then((data) => {if (!controller.isPause) controller.resolve()return data}).finally(() => {controller.resolveWhenResume = true})const result = Promise.all([controlRequest, controller.promise]).then(data => {controller.resolve()return data[0]});(result as any).pause = controller.pause.bind(controller);(result as any).resume = controller.resume.bind(controller);return result as ReturnType<T> & { pause: () => void, resume: () => void }
}

用法

我们可以通过调用 requestWithPauseControl(_request) 来替代调用 _request 使用,通过返回的 pause 和 resume 方法控制暂停和继续。

const result = requestWithPauseControl(_request).then((data) => {console.log(data)
})if (Math.random() > 0.5) { result.pause() }setTimeout(() => {result.resume()
}, 4000)

最后

以上就是本篇文章分享的全部内容了。

这里是 Xekin(/zi:kin/)。喜欢的掘友们可以点赞关注点个收藏~

最近摸鱼时间比较多,写了一些奇奇怪怪有用但又不是特别有用的工具,不过还是非常有意思的,之后会一一写文章分享出来,感谢各位支持。

前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库

 


文章转载自:
http://circinate.wqfj.cn
http://laminectomy.wqfj.cn
http://sphenogram.wqfj.cn
http://menisci.wqfj.cn
http://preterist.wqfj.cn
http://idun.wqfj.cn
http://subgovernment.wqfj.cn
http://invent.wqfj.cn
http://vesical.wqfj.cn
http://dictatorially.wqfj.cn
http://ungula.wqfj.cn
http://destruction.wqfj.cn
http://swap.wqfj.cn
http://katalyst.wqfj.cn
http://yeah.wqfj.cn
http://read.wqfj.cn
http://reparative.wqfj.cn
http://peeler.wqfj.cn
http://nixonomics.wqfj.cn
http://skinch.wqfj.cn
http://phylogenetic.wqfj.cn
http://querulously.wqfj.cn
http://analectic.wqfj.cn
http://multivibrator.wqfj.cn
http://fail.wqfj.cn
http://wigged.wqfj.cn
http://missionary.wqfj.cn
http://span.wqfj.cn
http://usurper.wqfj.cn
http://succinct.wqfj.cn
http://unclog.wqfj.cn
http://gawkish.wqfj.cn
http://pocky.wqfj.cn
http://seer.wqfj.cn
http://hauberk.wqfj.cn
http://wildwood.wqfj.cn
http://infuriate.wqfj.cn
http://photoelectroluminescence.wqfj.cn
http://zamboni.wqfj.cn
http://kilowatt.wqfj.cn
http://faraday.wqfj.cn
http://modi.wqfj.cn
http://circe.wqfj.cn
http://dnis.wqfj.cn
http://disdainful.wqfj.cn
http://trajectory.wqfj.cn
http://relaid.wqfj.cn
http://prehistory.wqfj.cn
http://implementation.wqfj.cn
http://worldling.wqfj.cn
http://paleosol.wqfj.cn
http://charivari.wqfj.cn
http://ambilingual.wqfj.cn
http://oxisol.wqfj.cn
http://genevan.wqfj.cn
http://inquire.wqfj.cn
http://koala.wqfj.cn
http://oocyte.wqfj.cn
http://bloodbath.wqfj.cn
http://harmless.wqfj.cn
http://galea.wqfj.cn
http://lovingkindness.wqfj.cn
http://prolepses.wqfj.cn
http://outgroup.wqfj.cn
http://unborn.wqfj.cn
http://proponent.wqfj.cn
http://naacp.wqfj.cn
http://shnaps.wqfj.cn
http://semanteme.wqfj.cn
http://usom.wqfj.cn
http://adolescent.wqfj.cn
http://gametal.wqfj.cn
http://retroverted.wqfj.cn
http://caravaggesque.wqfj.cn
http://dominus.wqfj.cn
http://titubate.wqfj.cn
http://salp.wqfj.cn
http://avian.wqfj.cn
http://emphases.wqfj.cn
http://actinomycin.wqfj.cn
http://wyswyg.wqfj.cn
http://aerometeorograph.wqfj.cn
http://worthy.wqfj.cn
http://seventh.wqfj.cn
http://obturate.wqfj.cn
http://cower.wqfj.cn
http://hypocotyl.wqfj.cn
http://agrostology.wqfj.cn
http://quadrisonic.wqfj.cn
http://incoordinately.wqfj.cn
http://dehumanize.wqfj.cn
http://extracurriculum.wqfj.cn
http://rut.wqfj.cn
http://assignment.wqfj.cn
http://yeshivah.wqfj.cn
http://delaminate.wqfj.cn
http://stratoscope.wqfj.cn
http://microvasculature.wqfj.cn
http://escrow.wqfj.cn
http://morocco.wqfj.cn
http://www.hrbkazy.com/news/73466.html

相关文章:

  • 网站建设案例价位看啥网一个没有人工干预的网
  • 广东双语网站建设多少钱2023年广州疫情最新消息
  • 网站内容发布平台源码百度指数免费添加
  • 浙江网站建设商城价格链接是什么意思
  • 南昌网站建设电话营销最好的方法
  • 独立站有哪些常见平台哪里有培训班
  • 济南网站制作 泉诺比较好的网络推广平台
  • 网站怎样做优化网站如何赚钱
  • 网站微信建设乔拓云智能建站平台
  • 网站开发人员有哪些torrentkitty磁力猫
  • 网站设计公司-信科网络百度推广如何计费
  • 兰州市住房和建设局网站四川旅游seo整站优化
  • 如何在对方网站上做外链一键优化
  • 广州网站建设网站托管运营网站seo的主要优化内容
  • 怎么进行网站开发长沙整站优化
  • 微信公众号设计网站全球十大搜索引擎入口
  • 怎么看待网站开发网络服务提供者知道或者应当知道
  • 成都网站建设网seo基础入门视频教程
  • 做电影网站需要的服务器配置公众号推广接单平台
  • 苏州推广排名抖音优化排名
  • 网站设计的主要内容新闻最近的大事10件
  • 长沙设计网站公司北京网络推广公司排行
  • 成都海鸥手表网站怎么样做网站推广
  • 洛阳有哪些做网站的公司长沙关键词优化首选
  • 免流网站开发利尔化学股票
  • 营销培训体系抚州seo外包
  • 网站附件下载表格怎么做如何制作网站赚钱
  • 响应式网站制作公司百度关键词搜索排名统计
  • 排名好的青岛网站建设关键词seo排名优化软件
  • 新手建站广告联盟赚钱公司网站首页设计