response.flush有啥用?这几个场景很常见!

吉云

今天弄代码的时候,碰到一个问题,就是我想让服务器那边处理一部分数据,就立马发给客户端,而不是等全部处理完再一起发。琢磨半天,发现可以用 来搞定,感觉挺有意思,就想把这个过程记录一下。

我以为服务器都是处理完所有事情才把结果一次性丢给客户端的。所以我就直接用 写一堆东西,结果发现,浏览器那边一直转圈圈,等好久才一下子全部显示出来。这不行,用户体验太差。

然后我就开始各种搜索,找有没有办法让服务器处理一点就发一点。搜一圈,发现好多人都提到 这个东西。

response.flush有啥用?这几个场景很常见!

我看网上说, 就是把服务器当前攒着的那点东西立刻发给客户端,不管后面还有没有。有点像你写信,写一段就赶紧塞进信封发出去,而不是等整封信写完。

找到方法,接下来就是实践。

我先把 设置成 true。这一步挺关键,因为要是不设置,服务器默认是不缓冲的,那 就没啥用,直接报错。

  • 第一步:设置* = true;
  • 第二步:在需要发送数据的地方加上;
  • response.flush有啥用?这几个场景很常见!

改完代码,我再一运行,效果出来!浏览器那边不再是傻傻地转圈,而是一部分一部分地显示出结果,感觉流畅多。

总结

这回实践让我学到一个新技巧,以后再遇到类似的需求,我就知道该怎么做。虽然只是一个小小的 ,但却能解决大问题,感觉挺神奇的。以后还是要多动手实践,才能真正掌握这些知识。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]