尝试扩展dojo小部件“dojox / timing”时未捕获的TypeError

时间:2016-02-24 16:54:02

标签: javascript dojo

我正在尝试扩展dojox / timing小部件并添加功能。我想添加它,以便它可以检查是否设置了结束时间,以及它是否在到达该时间后结束该过程。

使用我编写的代码,我收到错误:

  

未捕获TypeError:无法使用'in'运算符在未定义中搜索'endTime'

require(["dojo/_base/lang", "dojox/timing"], function(lang, timing) {
    lang.extend(timing, {
        endTime: 0,
        setEndTime: function(newEndTime) {
            this.endTime = newEndTime;
        },
        printEndTime: function() {
            console.log("End time: " + this.endTime);
        }
    });
    var t = new timing.Timer(1000);
    t.onTick = function() {
        console.info("One second elapsed");
    };
    t.onStart = function() {
        console.info("Starting timer");
    };
    t.printEndTime();
    t.start();
});

1 个答案:

答案 0 :(得分:1)

问题是时间本身不是一个类,你必须扩展类是Timer

 lang.extend(timing.Timer, .......