gpt4 book ai didi

javascript - 可观察对象存储在浏览器内存中的什么位置?

转载 作者:行者123 更新时间:2023-12-03 00:25:43 26 4
gpt4 key购买 nike

当我们创建可观察对象时,它是否存储在堆中?

它是否是数据源的包装对象,无论是数组对象还是单个值或事件(它将源包装到一个对象中并将其存储在内存中)作为内存中的资源?

它(可观察对象)是否向操作系统发送信号,根据接收到的数据中断命令以执行特定操作,并在当前事件循环后将回调函数推送到执行堆栈上?

///已编辑///可观察对象(Rxjs 库创建的)

最佳答案

与所有用户态 javascript 对象一样,Observables 存储在堆中。

从内存的 Angular 来看,它是源的包装器,就像将一个对象包装在另一个对象中一样:

let object = { somekey: 'somevalue' };
let wrapper = { object: object }; // We just "wrapped" object

回答您关于时间、操作系统和可能的中断的问题:否。Observables 仍在 javascript 内部,因此请使用 javascript 并发性。它们不会以任何方式脱离事件循环。

Observables 基本上是事件监听器的抽象。您可以从 document.addEventListener('scroll', () => {}) 等事件创建可观察对象。当您创建一个使用该事件作为源的可观察对象时,一旦事件监听器被调用,它将被调用,可观察对象没有特殊或神奇的计时。

关于javascript - 可观察对象存储在浏览器内存中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54105488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com