observables 中的promise<void> 等价于什么?

Fra*_*986 2 promise observable typescript angular

我正在使用角度,所以打字稿,并尝试从可观察的返回承诺。

这样做的正确方法是什么?

我试过:

of(EMPTY).toPromise() // error: Promise<Observable<never>>' is not assignable to type Promise<void>

of(null).toPromise() // no error but not sure if it is the right way

of().toPromise // error: Promise<Observable<unknown>>' is not assignable to type Promise<void> 
Run Code Online (Sandbox Code Playgroud)

更新:

// 这是声明它的接口

export interface CustomStoreOptions extends StoreOptions<CustomStore> {   
   /** Specifies a custom implementation of the remove(key) method. */
    remove?: ((key: any | string | number) => Promise<void> | JQueryPromise<void>);   
}
Run Code Online (Sandbox Code Playgroud)

所以它被称为:

let store = new CustomStore({     
        remove: key => {
          // return ...
        }
      });
Run Code Online (Sandbox Code Playgroud)

She*_*iny 5

您可以按如下方式编写以获得等价的Promise<void>

 of(void(0))
Run Code Online (Sandbox Code Playgroud)

您还可以创建一个不发出数据的主题

 const s = new Subject<void>();
 s.next(void(0));
Run Code Online (Sandbox Code Playgroud)