在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