如何运行这个angular $interval函数3次(3个循环)

How to run this angular $interval function just three times (3 loops)

本文关键字:函数 interval 3个 循环 3次 何运行 运行 angular      更新时间:2023-09-26

我想从我的控制器运行以下函数,使用interval并在视图模板中产生三个不同的化身。

目前,它只生成一个avatar.png,但我希望生成三个不同的。

那么我如何设置html也使它显示三个不同的图像?下面是我的代码:

控制器:

$scope.capture = function(){
    var canvas = document.getElementById('canvas');
    var video = document.getElementById('video');
    canvas.getContext('2d').drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
}
$interval (function(){
    $scope.capture();
}, 1500);

以及绘制图像的画布模板:

<canvas id="canvas"></canvas> 

基本上,我想在1.5秒后绘制一个图像绘制的图像总数应该是3。每个图像都有自己的画布id,

为什么不使用$timeout

for(var i=0;i<3;i++) {
    $timeout (function(){
        $scope.capture();
    }, 1500*i);
}

这将执行你的函数3次。您可能需要编写逻辑,以在不同的画布上使用不同的id绘制图像。