What are the specific promises made by observables in JavaScript?
- 内容介绍
- 文章标签
- 相关推荐
本文共计529个文字,预计阅读时间需要3分钟。
在JavaScript中,`Observables` 和 `lazy evaluation` 是两个关键概念。
例如,对于 `Promise`,无论是否调用 `then`,`Promise` 都会被立即执行。而 `Observable` 则不同,它仅在真正需要结果时才会被创建并执行。这意味着 `Observable` 只在需要时才会处理数据,从而提高了效率。
gistfile1.txt1.observables 是lazy evaluation。 比如下面的代码片段,对于promise,无论是否调用then,promise都会被立即执行;而observables却只是被创建,并不会执行,而只有在真正需要结果的时候,如这里的foreach,才会被执行。 再举个例子,比如这里不是用setTimeout模拟异步操作,而是去请求一个url,那对于promise来说,then的作用是处理返回结果,而http请求在第一步就已经发送了;相反,对于observable来说,由于它发现你其实现在并不需要异步调用的结果,所以它干脆就不发送请求,而只有你真正需要响应数据的时候才会发送请求。
本文共计529个文字,预计阅读时间需要3分钟。
在JavaScript中,`Observables` 和 `lazy evaluation` 是两个关键概念。
例如,对于 `Promise`,无论是否调用 `then`,`Promise` 都会被立即执行。而 `Observable` 则不同,它仅在真正需要结果时才会被创建并执行。这意味着 `Observable` 只在需要时才会处理数据,从而提高了效率。
gistfile1.txt1.observables 是lazy evaluation。 比如下面的代码片段,对于promise,无论是否调用then,promise都会被立即执行;而observables却只是被创建,并不会执行,而只有在真正需要结果的时候,如这里的foreach,才会被执行。 再举个例子,比如这里不是用setTimeout模拟异步操作,而是去请求一个url,那对于promise来说,then的作用是处理返回结果,而http请求在第一步就已经发送了;相反,对于observable来说,由于它发现你其实现在并不需要异步调用的结果,所以它干脆就不发送请求,而只有你真正需要响应数据的时候才会发送请求。

