gpt4 book ai didi

typescript - 键入没有值的 Observable 事件的最佳实践

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:13 24 4
gpt4 key购买 nike

我想定义一个返回 Observable 的方法,但我没有任何数据,我应该起诉什么签名?

myMethod(): Observable<null>;
myMethod(): Observable<void>;
myMethod(): Observable<{}>;

在方法中编码返回时,我想在我的第一个订阅回调中接收下一个事件,所以我不能使用 Observable.empty();

我可以使用以下内容:

myMethod(): Observable<null>; //I could use  return Observable.of(null);
myMethod(): Observable<void>; //I could use return Observable.of(null);
myMethod(): Observable<{}>; //I could use return Observable.of({});

我没有找到官方的方法,但也许有一个标准的解决方案......最佳做法是什么?

最佳答案

我认为最好的方法是使用 myMethod(): Observable<void>;因为null仍然是一个有效的值,经常被用来代替一个对象。还有{}是一个空对象(没有属性的对象)。

您可以将值发送到 void像这样:

const s = new Subject<void>();
s.next();
s.next(void 0);

您还可以将任何现有的 Observable 映射到 Observable<void> :

source
.pipe(
mapTo(void 0),
)
...

关于typescript - 键入没有值的 Observable 事件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49978433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com