【问题标题】:Use Observable<void> or Observable<any> to emit `null` value?使用 Observable<void> 或 Observable<any> 发出 `null` 值?
【发布时间】:2016-09-19 15:26:43
【问题描述】:

在某些情况下,异步操作的返回值并不重要或根本没有给出。在这些情况下,异步操作的方法签名通常将Observable&lt;any&gt;Promise&lt;any&gt; 定义为返回值。

示例

例如Ionic2 NavController 定义:

/** // ...
 * @returns {Promise} Returns a promise which is resolved when the transition has completed.
 */
 abstract remove(/* ... */): Promise<any>;

如果不查看实际实现,我无法判断是否真的没有发出任何值(例如 nullundefined),或者我是否可以从发出的值中提取一些有用的信息。

问题:Observable&lt;void&gt;?

我还没有在野外看到Observable&lt;void&gt;Promise&lt;void&gt;。通过使用它,很明显没有发出有用的值。是否有任何技术原因不将 void 类型与 observables 一起使用?或者为什么没有人用它来指定空值?

【问题讨论】:

标签: angular typescript rxjs reactivex


【解决方案1】:

是否有任何技术原因不将 void 类型与 observables 一起使用?或者为什么没有人用它来指定空值

据我所知,使用Promise&lt;void&gt; 没有危险。

【讨论】:

  • Promises 和 Observables 不是一回事。
猜你喜欢
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 2018-08-14
  • 2018-08-30
  • 2021-09-23
  • 1970-01-01
相关资源
最近更新 更多