前端是否可以不使用计时器进行同步任务?
有同事在开发时遇到了每隔5分钟需要前端页面同步一次接口数据的需求。如果不使用计时器是否有更好的方案可以实现(websocket暂时也不考虑)?
9 回复
把浏览器和js想得也太脆弱了吧,为何会有这种担心?那我给你提供一些更"牛逼"的方案吧。
- 你可以用长polling,一个连接后端一直不返回,由服务器控制。
- 用activex或则flash等创建tcp的socket来通讯。
- 有一种叫做SSE的,专门让服务器能主动推送东西,而且也还是基于http。
但是你会发现,第一种是畸形,第二种是麻烦,第三种是"我用websocket不是更方便?"。我觉得编程不要想到什么轮询就嫌弃,操作系统有一大堆轮询,任何方案都有存在的合理性,"处理不好就xxxx"不是理由,是伪命题。