我在我的md-autocomplete
一个 Web 表单上使用了角度输入。我已经完成了所有设置,并且运行良好。
正如预期的那样,每当我在自动完成输入中键入一个新字符时,都会调用我的后端来获取自动完成数据。问题是我不想每次输入新字符时都进行后端调用。我只希望自上次进行后端调用以来已经过了 x 秒后触发后端调用。
这是输入字符时调用的函数:
功能自动完成(输入值){ var deferred = $q.defer(); 门户状态.apiPost( 'api/猫/搜索', { 搜索类型:'全部', 搜索词:输入值 }, 功能(响应){ deferred.resolve(response.data); }, 功能(响应){ deferred.resolve(null); }); 返回 deferred.promise; }
这是我在尝试加入任何节流逻辑之前的工作功能。当我输入节流逻辑时,我遇到的主要问题是我不知道返回什么不会导致 angular 抛出错误,例如:
功能自动完成(输入值){ var isCool = 假; 如果(是酷){ var deferred = $q.defer(); 门户状态.apiPost( 'api/猫/搜索', { 搜索类型:'全部', 搜索词:输入值 }, 功能(响应){ deferred.resolve(response.data); }, 功能(响应){ deferred.resolve(null); }); 返回 deferred.promise; } 别的 { //有没有什么 //空的承诺我可以返回 //所以角度不会 //抛出一个错误 } }
那么如果我不想进行后端调用,我可以返回什么?还是有更简单的方法来限制角度md-autocomplete
输入?