三次事件,后端只接受一次请求

问题遇到的现象和发生背景
比如我点击搜索按钮,或者失焦事件,或者回车键盘事件,前端三次,怎么使得后端只获取到一次请求

放在防抖节流里,同时触发,在指定长度的时间内只执行一次

没听懂
你这三个事件是完全独立的,并不是一个操作造成三个事件
我点下了按钮,然后隔半小时又点了旁边的空白让它失焦,你告诉我怎么把这两个玩意合并
还有,什么失去焦点,按下按键,这些都应该是js处理的
只有按钮点击才应该提交给服务器
不要什么东西都提交服务端处理

你的意思 点击搜索按钮,或者失焦事件,或者回车键盘事件 都执行的 一个事件 。只让他执行一次 。 意义是什么呢? 你既然 这样写了 那就说明 你想 点击搜索失去焦点、回车都能触发请求 。你只让触发 一次 没啥意义了吧 。是 接口消耗很大吗?

按钮@click,输入框@blur,输入框@keyup.enter.native,三个都绑定同一个方法即可。

我觉得你这个属于:短时间内过于频繁的执行相同的任务,可以用防抖来解决问题

感觉像你描述就是想防止短时间内重复调用后端接口的场景。可以用页面busy来控制,简单说就是:在第一次调用后端接口时就里面把页面设置成busy(也就是类似转圈圈那种),这样别的页面点击事件就都不会相应了,达到只调用一次的效果

三个调用同一个方法