最近碰到的问题

2020-02-22  本文已影响0人  前端技师胡帅博
1.异步的无序

根据后端返回的数据动态生成元素,然后给元素绑定事件

问题:数据还没请求回来,执行绑定事件函数的时候报错,因为此时还没有元素

解决:用 setTimeout 延迟执行绑定事件函数

绝大多数异步问题都可以无脑用 setTimeout 解决,缺点在于如果用多了,容易搞不清执行先后顺序,引发新的问题

2.页面关闭事件监听并不是完全有效

自己的小 demo 在实现在线功能的时候,想在 页面关闭事件 onbeforeunload· 中调接口,从在线人数数组中删掉关闭页面的用户
问题:监听不稳定,有时候能发出接口,有时候不能,按网上说的把 ajax 改成同步也还是不行
解决:使用 心跳包,建立长连接,每隔一段时间发一次数据确认还在线

上一篇下一篇

猜你喜欢

热点阅读