Наблюдаемые объекты, как и весь пользовательский JavaScript-объект, хранятся в куче.
Это обертка вокруг источника, в терминах памяти, так же, как вы можете обернуть объект в другой объект:
let object = { somekey: 'somevalue' };
let wrapper = { object: object }; // We just "wrapped" object
В ответ на ваш вопрос о времени, операционной системе и возможных прерываниях: Нет. Наблюдаемые объекты все еще находятся внутри javascript, поэтому работайте с параллелизмом javascript. Они никак не выходят из цикла событий.
Observables - это, в основном, абстракция вокруг слушателей событий. Вы можете сделать наблюдаемое из таких событий, как document.addEventListener('scroll', () => {})
. Когда вы создаете наблюдаемое, которое использует это событие в качестве источника, оно будет вызвано, как только будет вызван прослушиватель событий, для Observables нет особой или магической синхронизации.