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>
更新:
// 这是声明它的接口
export interface CustomStoreOptions extends StoreOptions<CustomStore> {
/** Specifies a custom implementation of the remove(key) method. */
remove?: ((key: any | string | number) => Promise<void> | JQueryPromise<void>);
}
所以它被称为:
let store = new CustomStore({
remove: key => {
// return ...
}
});
解决方案
您可以将其编写如下以获得等效的Promise<void>
of(void(0))
您还可以创建一个不发出数据的主题
const s = new Subject<void>();
s.next(void(0));
推荐阅读
- objective-c - MacOSX 上的 AVAudioRecorder 问题
- javascript - 如何按照描述创建矩阵
- excel - 电子表格 | 表格:在一个单元格中显示范围之间的数字
- java - 如何与活动进程/子进程通信?
- r - 如何将变量列表传递给函数,但还要考虑引用和引用
- android - 如何使用 adb 命令安装已卸载的应用程序
- jasper-reports - 从 json 有效负载动态设置 net.sf.jasperreports.export.xls.sheet.name
- html - 为什么下面的图像行是从上面移动的?
- java - 在 Spring Security 中配置许多 OAuth2 授权类型
- python - 有没有办法在使用 python 的 if 语句中将项目添加到字典中?