我想要實現的是非常直接的,但我很困惑。我試圖建立一個隊列來保存醫院病人,他們將登錄系統,添加到陣列(FIFO),然後在一定的時間間隔後,他們應該從隊列中刪除。我正在使用angularjs將對象添加到數組和一個設置的時間間隔函數。創建自動化的JavaScript隊列超時轉移項目
(function() {
angular.module('patientsApp')
.controller('patientsController', ['$scope', function ($scope) {
var vm = this;
vm.queue = [];
vm.patient = {};
vm.save = function() {
patient = angular.copy(vm.patient);
vm.queue.push(patient);
for(var i = 1; i <= vm.queue.length; i++) {
(function(index) {
setTimeout(function() { vm.queue.shift(); $scope.$apply(); }, i * 3000);
})(i);
}
vm.queue.forEach(function (cv, i) {
waitTime = 0;
setTimeout(function() {
vm.queue.shift();
$scope.$apply();
}, 3000 + waitTime);
waitTime += 3000;
})
}
}]);
})();
這是我的代碼,我做了2個例子試圖迭代數組。如果你注意到,爲了使這個自動化,我已經將該方法添加到表單的add方法中。這個想法是設置一個例如3秒的間隔,但它們不應該同時觸發,它們應該相距3秒。提前致謝。