前端针对多次异步请求结果的处理

前端针对多次异步请求结果的处理,第1张

在前端领域,你应该有见过这两种场景

那么问题来了:

针对场景1, 监听keyup事件, 得到当前输入框内的内容,(不考虑之前搜索结果的缓存),在输入过程中,如何保证异步请求返回的数据是与我当前输入内容相对应的结果?

针对场景2, 异步请求返回的结果哪些是能够为我所用的呢?跟场景1 的处理方式会是相同的么?

如上的2种场景或者其他需要频繁进行网络请求的场景,如果网络请求的速度总是能跟上交互,那么这一切的问题都将不复存在,“天下武功,唯快不破”。但再快的请求终究是异步的,谁也无法保证请求结果返回的顺序。具体的处理思路,还是要跟场景结合,本文主要围绕以上的两个场景来讨论。

由于不同长度的文本语义相差比较大,搜索推荐需要保证比较高的匹配度。所以对返回的请求只能显示 与当前输入框内内容相匹配 的结果。

最简单的方式就是在制定接口时,让后端将前端的查询词querytext和其结果result一同返回,前端通过判断当前输入框的内容是否等于queryText,即可决定是否对result进行后续处理。

但倘若后端因为某种客观因素不便修改,前端又该怎么做呢?我们的目的其实无非是在一个异步请求返回时也想知道发送该请求时的query,以及当前输入框内的内容嘛。一个闭包搞定:

在轮询场景,大都是用来获取最新数据的,所以针对异步网络请求,只要是更晚时间发出的请求其返回结果就可用。所以通常我们会使用一个字段来记录上次更新的时间(或者随请求发送事件次数递增的数字)。

也不知道说点啥了,干脆提前祝大家元旦快乐吧~

/ 超小屏幕(手机,小于 768px) 没有任何媒体查询相关的代码/
/ 小屏幕(平板,大于等于 768px) /
/ 中等屏幕(桌面显示器,大于等于 992px) /
/ 大屏幕(大桌面显示器,大于等于 1200px) /

在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。

下面我们举例一个URL,然后获得它的各个组成部分:>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13346919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存