$interval 不适用于回调函数,angular js
$interval not working for callback function, angular js
我是 angularjs 的初学者,对不起,如果我问了愚蠢的问题。
function getCams(callback){
var media_list = [];
MediaStreamTrack.getSources(function(sourceInfos){
var i=0;
while(i!=sourceInfos.length){
if (sourceInfos[i].kind == 'video'){
var temp = [];
temp.push(sourceInfos[i].id);
temp.push(sourceInfos[i].label);
media_list.push(temp);
}
i++;
}
callback(media_list);
});
}
var app = angular.module('myApp', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{[{').endSymbol('}]}');
});
app.controller('myCtrl', function($scope, $interval) {
$scope.cams = [];
var checkcams = getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
$interval(checkcams, 10000);
});
以上是我尝试获取连接到系统的摄像头数量,并尝试使用回调函数在 angular js 中更新相同内容的代码,在这一行中
$interval(checkcams, 10000);
我试图每 10 秒调用一次该函数,但此函数 运行 仅在页面加载后调用一次,而不是每 10 秒调用一次 运行。
我已经看过这个问题了,它帮不了我。
$interval not running, angularjs
getCams
没有返回任何内容,因此 $interval
不工作。这是预期的行为。
您可以将代码重写为
//Wrap getCams call in a function
var checkcams = function(){
getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
}
//Call it when view is launched
checkcams();
//set Interval
$interval(checkcams, 10000);
通过这样做
var checkcams = getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
您已将 checkcams 设置为任何 getCams returns 的变量,而不是函数。
试试这个
function checkcams () {
getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
}
$interval(checkcams, 10000);
我是 angularjs 的初学者,对不起,如果我问了愚蠢的问题。
function getCams(callback){
var media_list = [];
MediaStreamTrack.getSources(function(sourceInfos){
var i=0;
while(i!=sourceInfos.length){
if (sourceInfos[i].kind == 'video'){
var temp = [];
temp.push(sourceInfos[i].id);
temp.push(sourceInfos[i].label);
media_list.push(temp);
}
i++;
}
callback(media_list);
});
}
var app = angular.module('myApp', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{[{').endSymbol('}]}');
});
app.controller('myCtrl', function($scope, $interval) {
$scope.cams = [];
var checkcams = getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
$interval(checkcams, 10000);
});
以上是我尝试获取连接到系统的摄像头数量,并尝试使用回调函数在 angular js 中更新相同内容的代码,在这一行中
$interval(checkcams, 10000);
我试图每 10 秒调用一次该函数,但此函数 运行 仅在页面加载后调用一次,而不是每 10 秒调用一次 运行。
我已经看过这个问题了,它帮不了我。 $interval not running, angularjs
getCams
没有返回任何内容,因此 $interval
不工作。这是预期的行为。
您可以将代码重写为
//Wrap getCams call in a function
var checkcams = function(){
getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
}
//Call it when view is launched
checkcams();
//set Interval
$interval(checkcams, 10000);
通过这样做
var checkcams = getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
您已将 checkcams 设置为任何 getCams returns 的变量,而不是函数。
试试这个
function checkcams () {
getCams(function(media_list){
$scope.cams=media_list;
$scope.$apply();
console.log("test");
});
}
$interval(checkcams, 10000);