在Knockout JS中搜索从DB加载数据的项目
search items that load data from DB in Knockout JS
在我的应用程序中,我有一个从DB加载数据的observableArray。这个observableArray填充了DB中的前25个项目,从向下滚动开始,它加载了另外25个项目并继续
现在,我想实现搜索,它应该显示从DB中搜索整个数据的结果,而不仅仅是从显示的25个项目中搜索。
我试图通过点击搜索按钮将整个搜索文本发送到数据库来获得搜索结果,但数据库中有很多数据,加载数据需要很长时间。
请让我知道如何在毫秒内从DB获得所需的结果。提前感谢。
要使用Knockout获得性能良好的搜索,您应该使用速率限制器扩展绑定到输入的searchText
可观测值
this.searchText = ko.observable('').extend({ rateLimit: { timeout: 500, method: "notifyWhenChangesStop" } })
在输入保持500ms不变后(即,当用户停止键入时),这将呼叫任何订户。您还可以使用默认方法notifyAtFixedRate
至少每X秒调用一次API。
最重要的是,一把小提琴!
注意:话虽如此,如果您的查询耗时40秒,那么这听起来像是数据库查询的问题。这可能需要这么长的时间,因为服务器上充斥着请求,但这似乎仍然非常慢。这是我们使用的策略,它非常有效,但我们的API响应时间<200ms。
相关文章:
- 正在等待呈现图表,直到加载数据为止
- ng绑定和ng href问题.ng href未从控制器加载数据
- 单击按钮时加载数据
- 在reactjs组件中预加载数据
- Highcharts可以从服务器加载数据,但不能更新
- AngularJS promise在加载数据之前得到解决
- 在Knockout JS中搜索从DB加载数据的项目
- 如何在angular js中使用$emit后重新加载数据
- 构建多个图表时,HighCharts加载数据的速度较慢
- 加载初始网站后在后台加载数据
- ExtJS网格未从Ext.data.XmlStore加载数据
- 数据表 AJAX 筛选器重新加载数据
- select2 使用 AJAX 加载数据不能选择任何选项
- 在 Metro 风格应用中启动时加载数据
- 需要帮助使用 AJAX 和其他一些东西加载数据
- Vue 不加载数据
- 向右滚动加载数据
- 为SEO的数据绑定JS预加载数据
- mysql循环-预加载数据
- 无法使用JSON加载数据表