u может использовать:
(function () {
var requiredResolution = 10; // ms
var checkInterval = 1000; // ms
var tolerance = 20; // percent
var counter = 0;
var expected = checkInterval / requiredResolution;
//console.log('expected:', expected);
window.setInterval(function () {
counter++;
}, requiredResolution);
window.setInterval(function () {
var deviation = 100 * Math.abs(1 - counter / expected);
// console.log('is:', counter, '(off by', deviation , '%)');
if (deviation > tolerance) {
console.warn('Timer resolution not sufficient!');
}
counter = 0;
}, checkInterval);
})();
Наблюдаемое должно быть уведомлено следующей функцией, которую вы можете использовать BehaviorSubject и функцией asObservable () для отображения элементов.
subject = new BehaviourSubject<any>([])
referenceItems = this.subject.asObservable();
Затем, когда вы захотите обновить значение, вы можете использовать функцию «следующий» для объекта.
this.subject.next(this.subject.value.concat({id:..., label:...}));