Javascript 从D3中的选择中获取数据

Javascript 从D3中的选择中获取数据,javascript,d3.js,Javascript,D3.js,D3提供了一种方法.data()从选择中获取数据。我的简单经验表明,应用此方法可能会花费时间(如果不是很大的话)将数据加载到局部变量,例如使用var data=d3.select('.someClass').data(),尤其是在数据集较大的情况下 我想知道的是,是否有一种机制来验证数据是否已获得。这似乎与AJAX调用不同,因为这里不涉及服务器。(如果我错了,请纠正我。)一种可能的解决方案是使用setTimeout或使用setInterval。但是,它们都需要预设的时间间隔,这可能会导致不必要的

D3提供了一种方法
.data()
从选择中获取数据。我的简单经验表明,应用此方法可能会花费时间(如果不是很大的话)将数据加载到局部变量,例如使用
var data=d3.select('.someClass').data()
,尤其是在数据集较大的情况下

我想知道的是,是否有一种机制来验证数据是否已获得。这似乎与AJAX调用不同,因为这里不涉及服务器。(如果我错了,请纠正我。)一种可能的解决方案是使用
setTimeout
或使用
setInterval
。但是,它们都需要预设的时间间隔,这可能会导致不必要的延迟


当使用此
.data()
方法完成数据采集时,是否有触发“警报”的机制

这应该是你最不关心的问题之一。存储在某个DOM节点上的数据将作为引用传递,然后分配给局部变量,这将不需要任何数据采集。您的其他代码的大部分将比此代码更耗时。您可能是对的。但是,当我在
var data=d3.select().data()
语句周围应用
setTimout
setInterval
函数时,在填充局部变量之前确实需要一些时间。另一方面,如果我不“等待”,这个局部变量是空的。这就是我问这个问题的原因。欢迎来到JavaScript的深层次工作;-)这是预期的行为。要想获得更深入的解释,请看一看这个(不是公认的)。另一个很好的资源是在。