- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个从远程 JSON DataSource
填充的 DataTable
:
var dataSource = new Y.DataSource.Get({ source: url });
dataSource.plug(Y.Plugin.DataSourceJSONSchema, {
schema: {
resultListLocator: "results",
resultFields: [ "field1", "field2" ]
}
});
var table = new Y.DataTable({ columns = ["col1", "col2"] }
table.plug(Y.Plugin.DataTableDataSource, { datasource: dataSource });
table.render("#table");
table.datasource.load({ request: query });
我正在尝试定期刷新表中的数据。 A forum poster recommended calling load periodically ,我已经尝试过并且它按我希望的那样工作(数据刷新而不显示正在加载...消息)。
Y.later(1000/*ms*/, table.datasource, table.datasource.load, { request: query }, true);
但是,我注意到 Chrome 中存在内存泄漏。表格单元格似乎没有从内存中删除。 Chrome 的堆分析器报告在 Detached DOM tree
中有很多 HTMLTableCellElement
对象。
这是刷新数据的最佳方法吗?如果是这样,是否有某种方法可以清除旧的表格单元格?
备选方案
还有 datatable-polling
module可以定期获取数据。不过,我没有任何示例可以说明如何将其与 YUI3 DataTable
一起使用。然而,examples from YUI2表明您可以执行以下操作,这似乎有效:
dataSource.setInterval(1000,
{
request: query,
callback:
{
success: function(e) { table.onDataReturnInitializeTable },
failure: function() { Y.log("Polling failure", "error"); }
}
});
然而,看起来这就是load
is doing under the hood anyway :
load: function(config) {
config = config || {};
config.request = config.request || this.get("initialRequest");
config.callback = config.callback || {
success: Y.bind(this.onDataReturnInitializeTable, this),
failure: Y.bind(this.onDataReturnInitializeTable, this),
argument: this.get("host").get("state") //TODO
};
var ds = (config.datasource || this.get("datasource"));
if(ds) {
ds.sendRequest(config);
}
},
最佳答案
datasource-polling
在这种情况下不会帮助您,因为 Plugin.DataTableDataSource
不会让 DataTable 监听 DataSource 中的所有更改。使用 Plugin.DataTableDataSource
进行轮询的最简单方法是像这样自己设置时间间隔:
var datasource = new Y.DataSource.IO(...);
var table = new Y.DataTable(...);
table.plug(Y.Plugin.DataTableDataSource, {
datasource: datasource
});
// call load() every second
var timer = Y.later(1000, table.datasource, 'load', {
request: foo
}, true);
// later on, stop polling
timer.cancel();
您提到的内存泄漏是有可能的。 DataTable 正在持续开发中,它将在管理内存方面做得更好。但是,如果您有可重现的案例和全面的测量,您绝对应该 open an issue在 YUI 的 GitHub 存储库中。
关于javascript - DataTable 和 DataSource 的内存泄漏与轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16352058/
更新:将代码更改为立即调用并分配 dataSource ,但我仍然遇到相同的结果,但 sourceData.paginator 正在运行。 sourceData.filter 和 sourceData
我想以编程方式设置我的数据源的模型。像这样的东西: var ds = new kendo.data.DataSource({ //... }); var mod = kendo.data.Model.
我有一个多模块 maven 项目,我想将它与 一起使用tomcat7 maven插件并开始: mvn tomcat7:run 但我不知道如何配置 jndi 数据源。 我试图放入我的 pom.xml:
任何人都可以提供有关如何执行此操作的说明吗?我设置了几个不同的 JDBC 数据源,并希望能够配置用户使用不同的数据源运行相同的报告。例如。当用户A登录并运行报表A时,使用数据源1;当用户 B 登录并运
过去几周我从这个网站收集了许多有用的答案。我加入是为了对一些我认为最有帮助的答案+1,但目前还无法做到这一点。不过谢谢! 我的问题是 JBoss 7 AS 部署错误,我似乎无法追踪任何相关信息。它开始
我们遇到了一个 problem哪里 我们在一个 MDI 工作区中有两个相同窗口的实例,它们绑定(bind)到两个单独的对象模型。 对象模型覆盖了它们的 .Equals 和 .GetHashCode 方
当我运行我的独立 Web 应用程序时,spring 无法实例化数据源 bean。请注意,我不想在此项目中使用 JPA 或休眠。在这一点上我不知道为什么。我最好的猜测是依赖项或语法问题,但我无法找到解决
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我的项目使用springBoot2,并且不需要连接数据库,但是springboot自动配置数据源并在启动项目时抛出异常。我已经添加了执行,但它不起作用 @SpringBootApplication(e
我指的是下面的链接来设置环回框架并创建简单的 API https://docs.strongloop.com/display/public/LB/Getting+started+with+LoopBa
我在 SPringBoot 中的数据源有问题。我想使用 JDBC 并从数据源获取数据,但出现错误:说明: com.example.My.MyApplication 中的字段 dataSource 需要
这是在我的 spring-servlet.xml 文件中定义的具有此 id 的 bean 这是完整的堆栈跟踪 SEVERE: Exception sending context initialize
我正在尝试使用 Spring、Maven 和 Hibernate 创建一个访问 sql server 数据库的应用程序。当我尝试运行应用程序时出现以下错误: Exception in thread "
当我运行我的网络应用程序时抛出以下错误。 Exception encountered during context initialization - cancelling refresh attemp
我正在研究 Spring Boot JDBC MYSQL 示例。在这个例子中,我使用了 1.3.1.RELEASE spring boot starter 版本,当时我使用了以下 2 spring.d
Feb 20, 2012 6:30:45 AM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring ro
我引用了网址:https://o7planning.org/en/11727/understanding-spring-cloud-config-client-with-example没有任何自定义,
spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:mysql://localhost:3306/study?serverT
我有一个多线程作业(同时运行 6 个作业),这些作业使用 3 个数据源(第一个数据源上有 2 个,第二个数据源上有另外 2 个,第三个数据源上有最后 2 个)。 /* *************
我正在尝试实现从CurrencyExchange模块到CurrencyConvert的开放字段调用,但我被这个错误卡住了。有谁能帮帮我吗?我已经检查了其他答案,并试图添加#spring.datasou
我是一名优秀的程序员,十分优秀!