在stackoverflow上有一些相同的问题,如timer._repeat is not a function?和Run set Interval again for every interval ID in array,但我无法解决我的问题,所以我想问我的特殊解决方案。TypeError:timer._repeat不是函数吗?
我使用setInterval函数从数据库中重复查询,每个30s然后显示实时anlytics应用程序的视图。当exports.index
叫我将实现从表中选择由getUserRegisterPerday
功能与request
和response
引用req
和res
agrument,结果将提上rows
agrument从回调函数来渲染查看。
var $fromTime,
$toTime;
function getDateTime() {
var dt = dateTime.create();
$toTime = dt.format('Y-m-d');
console.log($toTime);
dt.offsetInDays(1); // + 1 day
$fromTime = dt.format('Y-m-d');
console.log($fromTime);
};
function repeatQueryRegister(req, res) {
getDateTime();
var model = new reportModel();
// select from table on database
model.getUserRegisterPerday($fromTime, $toTime, function (rows) {
res.render('index', {title: 'index', data: rows});
});
};
exports.index = function (req, res) {
var nInterval = setInterval(repeatQueryRegister(req, res), 30000);
};
但它抛出一个错误(图仍显示成功)
timers.js:275 timer._repeat();
TypeError: timer._repeat is not a function at wrapper [as _onTimeout] (timers.js:275:11) at Timer.listOnTimeout (timers.js:92:15)
如何解决呢?
此错误与您的代码似乎无关。这个错误发生在'timers.js'中,它与内建的'setInterval()'命令无关。 – Soviut
@Soviut:什么是timers.js用于? – Loint
你是否在任何时候调用'clearInteval(nInterval)'? – Soviut