有些情况下异步操作的返回值不重要或根本没有给出。在这些情况下,异步操作的方法签名通常将Observable<any>
或Promise<any>
定义为返回值。
例如Ionic2 NavController定义:
/** // ...
* @returns {Promise} Returns a promise which is resolved when the transition has completed.
*/
abstract remove(/* ... */): Promise<any>;
不看实际的实现,我无法判断是否确实没有发出任何值(例如null
或undefined
),或者我是否可以从发出的值中提取一些有用的信息。
Observable<void>
?我没有在野外看到Observable<void>
或Promise<void>
。通过使用它可以清楚地发现没有有用的值。有没有技术原因不使用void
类型和observables?或者为什么没有人用它来指定空值?
答案 0 :(得分:3)
是否有任何技术原因不使用带有observables的void类型?或者为什么没有人使用它来指定空值
据我所知,使用Promise<void>
没有任何危险。