Gau*_*eel 5 observable rxjs typescript
我想定义一个返回Observable的方法,但是我没有任何数据,我应该起诉什么签名?
myMethod(): Observable<null>;
myMethod(): Observable<void>;
myMethod(): Observable<{}>;
Run Code Online (Sandbox Code Playgroud)
在对方法中的返回进行编码时,我想在我的第一个订阅回调中接收下一个事件,所以我不能使用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({});
Run Code Online (Sandbox Code Playgroud)
我没有找到正式的方法,但也许有一个标准的解决方案......什么是最佳做法?
我认为最好的方法是使用,myMethod(): Observable<void>;
因为null
它仍然是一个经常使用的有效值,而不是一个对象。也是{}
一个空对象(没有属性的对象)。
您可以发出这样的值void
:
const s = new Subject<void>();
s.next();
s.next(void 0);
Run Code Online (Sandbox Code Playgroud)
您还可以将任何现有的 Observable 映射到Observable<void>
:
source
.pipe(
mapTo(void 0),
)
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
479 次 |
最近记录: |