我正在为我的网络应用编写测试,以便人们可以点击按钮,看到应用程序运行时带有一些随机生成的值。这是一个角度应用程序,该测试功能位于控制器内部。我试图减慢功能执行速度,因为如果我让它运行,我的服务器/浏览器就无法跟上。我试图使用$ interval来每隔500毫秒运行一次我的函数,但是我单击按钮它只运行一次,然后停止。
这是测试功能:
$scope.test = function (){
console.log('in the test function')
$interval($scope.sendData(), 500, 100)
}
这里是$ scope.sendData():
$scope.sendData = function () {
console.log('send Data')
var val1 = parseInt(Math.random()*1000)
var val2 = parseInt(Math.random()*1000)
var val3 = parseInt(Math.random()*1000)
var val4 = parseInt(Math.random()*1000)
var val5 = parseInt(Math.random()*1000)
var val6 = parseInt(Math.random()*1000)
var str = 'val1=' + val1 + '&val2=' + val2 + '&val3=' + val3 + '&val4=' + val4 + '&val5=' + val5 + '&val6=' + val6
$http.get('http://localhost:3002/sendFootData?'+str)
}
我也尝试了setInterval和setTimeout,但它们没有减慢功能执行速度,我的浏览器也锁定了,因为它无法跟上服务器响应。
答案 0 :(得分:2)
您需要将函数引用传递给$interval
:
$interval($scope.sendData, 500, 100);
如果您需要传递其他参数,可以使用其他匿名函数:
$interval(function() {
$scope.sendData(param1, param2);
}, 500, 100);