深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
前端开发中向后端发起xhr请求是再正常不过的事。但在前端开发过程中,不怎么重视xhr的abort。往往会带来一些不可意料的结果。想想应该是很简单。很有可能就是当前选中的tab数据,并不是你想要的。说白了就是数据错了。答案是肯定的,xhr请求返回数据顺序是不固定的。首要要确认的就是,ajax方法需要返回的是Promise实例对象,而不再是原生的XMLHttpRequest实例对象。然后后端获取到回调函数名,并且在返回时把回调函数和数据拼接成字符串返回到前端。思路就是使用Event事件对象。触发script的error监听事件。所以我们得对jsonp函数添加一个trigger辅助函数进行触发error事件。我们必须重视abort方法在xhr/jsonp中的运用,但是也不能滥用,适可而止。
用户评论