既然是轮询,就重复用XHR去请求数据,可是为什么现在所知道的轮询技术文章里全用setTimeout呢?它只是延时执行一次啊?
个人以为,这个问题涉及 回调函数 和 函数递归 的知识。
轮询请求如果不需要等待结果返回,那么完全可以使用setInterval来发起定时请求。
但很显然长轮询是需要等待结果返回,然后再次发起请求的。
那么即使用setTimeout实现轮询的话,也是需要辅助循环或者自身递归才能实现轮询效果的吧?
@白菜帮子: 你应该把服务端处理请求也加入进来考虑的,轮询本质就是递归,递归和循环可是两码事。
@飞扬的尘埃: OK!是我看的书有问题,丫写错了。是需要递归的。