【发布时间】:2021-08-17 22:14:15
【问题描述】:
在 Javascript 方面,我完全是新手。请帮助我理解 Observables 的概念。
- Observable 是否有存储位置,类似于 Web API 请求在移动到回调队列之前保存在 Web API 环境中的方式?
- 这是原始 observable 还是已从回调队列移动到调用堆栈的副本?
- Observables 的执行与调用堆栈中的 Promise 有何不同?
- 调用堆栈是否必须为空才能执行 Observables?
- 是否可以与 Observables 一起运行正常的函数调用(即,它不断从实时环境中获取数据,而其余的函数单独运行)?
- 如果我们不取消订阅 Observable 并且它们继续在调用堆栈中运行直到应用关闭,会发生什么情况?
【问题讨论】:
-
你在说什么 observables 实现?
-
Promise 没有被执行,只有它们的处理程序被执行,我怀疑 observables 有什么不同。
-
@Bergi - 从标签中,“observables”是RxJS 库的一部分
-
@Bergi ex- 来自 HTTP 方法调用的 Observables。
-
@Bergi 我对此不太了解,但我认为 Observables 也是函数,订阅 observables 与调用函数非常相似。我只想知道假设我们正在从远程数据库(如 firebase)作为 Observables 获取用户登录状态,就调用堆栈中的执行而言,它与 fetch() 有何不同,后者返回承诺并由处理程序解决,以及他们如何从回调队列到调用堆栈,以及我在上面相同上下文中提出的任何其他问题。
标签: javascript es6-promise callstack event-loop redux-observable