Q.js - 如何访问缓存的元素

时间:2015-04-27 08:43:53

标签: javascript q

好的,所以我使用Q.js帮助保持用户通知可能长时间计算的异步(使用setTimeout,零延迟重复调用函数一定次数)。

然而,这不起作用:

var status = d3.select('#status');

var t = transfer({
    N: 100
});

t.then(function (values) {

    status.text('');
    column_chart(values);

}, function (error) {

    status.text('There was an error calculating the transfer probabilities')

}, function (progress) {

    status.text('Calculating ' + Math.round(progress) + '%');

});

由于某种原因,在resolve,reject和progress函数中未定义status元素。但是,如果我用status.text替换每个d3.select('#status').text,那么一切正常。关于为什么我不能使用缓存元素,我有点困惑?

1 个答案:

答案 0 :(得分:1)

好的,我的缓存元素的名称有问题!

<!--use the code for top fixed header-->
<div class="navbar-fixed-top">header area <div>


<!--use the code for align the area in the middle-->
<div class="vertical-center-row">middel area</div>


<!--use the code for sticky footer-->
<div class="navbar-fixed-bottom">footer area</div>


[enter link description here][1]


  [1]: http://jsfiddle.net/froszacn/8/

更改名称解决了问题

var status = d3.select('#status');

事实证明,我的承诺函数状态是原始HTML元素,当然没有文本方法。这是奇怪的事情,其中​​所有具有ID的DOM元素被添加到全局窗口对象...