尝试扩展 dojo 小部件时未捕获类型错误 "dojox/timing"

Uncaught TypeError when trying to extend dojo widget "dojox/timing"

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

使用我编写的代码出现错误:

Uncaught TypeError: Cannot use 'in' operator to search for 'endTime' in undefined

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();
});

问题是计时本身不是 class,您必须扩展 class,即计时器

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