执行一系列的$timeout
Executing a series of $timeouts
我正在做一个AngularJS应用程序。该应用程序需要交替超时。这种交替由数组处理。这个数组看起来像这样:[3000, 1000, 3000, 1000, 5000]
.
这个数组表示运行一个操作三秒钟。然后,等一秒钟。然后运行另一个操作三秒钟。然后再等一秒钟。最后,运行另一个操作5秒钟。操作将有所不同。无论哪种方式,我都不确定如何按顺序执行它们。
如何在AngularJS中执行一系列$timeout元素?
谢谢!
这听起来更像是自定义计时器,因为您需要跟踪时间,而不仅仅是延迟操作。
无论如何,您需要在每个操作的运行和暂停时间中格式化数据。像这样:
var operations = [{fun: oneFunction, wait: 1000, run: 3000}, {fun: twoFunction, wait: 2000, run: 5000];
然后你需要处理这些函数,在它们各自的时间内运行它们:
function handleOperations(operationArray) {
for (var i = 0; i < operationArray.length; i++) {
var start = Date.now();
if ((Date.now()-start) <= operationArray[i].run) {
operationArray[i].fun(); //run while the timer is still going
} else {
//otherwise, wait for specified time
var waitStart = Date.now();
if ((Date.now()-waitStart) <= operationArray[i].wait) {};
}
}
}
相关文章:
- $timeout如何在angularJs中工作
- 浓缩一系列mySQL查询
- 如何在Javascript中从select标记的一系列选项中构建二维数组
- 使用RegExp获取一系列单词,这些单词前后可能有空格,也可能没有空格
- "控制器作为“;$timeout中的语法
- 如何使用带前导0的underscore.js生成一系列数字
- 如何从一系列级联异步代码中返回值
- 如何在使用$timeout进行指令渲染后调用控制器方法
- jquery自动淡入淡出一系列图像
- 使用 Slick 使一系列照片在网页上按顺序淡入淡出
- 执行一系列 Javascript 承诺一个接一个地解决
- 使用 jQuery 加载一系列图像
- 为什么 angularjs 插件无缘无故地使用 $timeout
- 角度原生去抖动与$timeout与lodash_.去抖基准
- 一系列下拉菜单,由jQuery提供支持,隐藏和显示,但不在Chrome中
- console.log 在 CasperJS 的 set Timeout 评估中不起作用
- JS:如何在使用 Math.random() 时排除一系列值
- 使用 JS 播放一系列图像,使用 $timeout 来安排帧
- 执行一系列的$timeout
- 如何使用$timeout在Angular中执行一系列事件