我有一个返回Observable<void>的函数,我需要它返回一个可观察的,立即emits 并完成的.通常情况下,我会使用of操作符来实现这一点,但它不适用于void.

我try 过但不起作用的事情:

return of(); // doesn't emit
return of({}); // TypeScript compilation error 'Type 'Observable<{}>' is not assignable to type 'Observable<void>'.'

我try 过一些有用的东西,但我不喜欢:

return of({}).map(() => {}); // does extra work just to avoid compiler error
return of({}) as unknown as Observable<void>; // yucky casting
return new Observable<void>(s => {s.next(); s.complete();}); // verbose

我目前正在使用最后一个,因为它不需要做额外的工作,但我更喜欢像of这样的快捷方式.

推荐答案

你可以退of(void 0).

现场演示:https://stackblitz.com/edit/rxjs-yn6dmr

Typescript相关问答推荐

Typescript:将内部函数参数推断为子对象键的类型

您可以创建一个类型来表示打字员吗

对于使用另一个对象键和值类型的对象使用TS Generics

有没有办法解决这个问题,类型和IntrinsicAttributes类型没有相同的属性?

了解类型规则中的关键字

在分配给类型的只读变量中维护const的类型

在Typescript 中,有没有`index=unfined的速记?未定义:某个数组[索引]`?

Select 下拉菜单的占位符不起作用

类型脚本-处理值或返回值的函数

将接口映射到交叉口类型

为什么TypeScrip假定{...省略类型,缺少类型,...选取类型,添加&>}为省略类型,缺少类型?

顶点堆叠的图表条形图未在正确的x轴上显示

如何在Type脚本中创建一个只接受两个对象之间具有相同值类型的键的接口?

如何处理可能为空的变量...我知道这不是Null?

是否可以将类型参数约束为不具有属性?

React-跨组件共享功能的最佳实践

React中的效果挂钩在依赖项更新后不会重新执行

我是否应该在 Next.js 中的服务器组件中获取秘密数据的所有函数中使用使用服务器?

如何确定单元格中的块对 mat-h​​eader-cell 的粘附(粘性)?

const 使用条件类型时,通用类型参数不会推断为 const