javascript - 如何在 TypeScript/Angular 中测试类型?
问题描述
我有一个函数可以返回 3 种可能类型中的 1 种:
getFoo(): Observable<Foo> | Promise<Foo> | Foo {
//return 1 of 3 types
}
那么如何在调用后确保确切的类型:
const foo = someClassObj.getFoo();
如果我现在想从 foo 中获取数据,我怎么知道它是 Observable、Promise 还是类实例 Foo?当我尝试 instanceof 或 typeof 时,它们只检测到“对象”。
解决方案
您可以使用instanceof
关键字。
const foo: any = someClassObj.getFoo();
if (foo instanceof Observable) {
} else if (foo instanceof Promise) {
} else if (foo instanceof Foo) {
}
推荐阅读
- algorithm - Floyd-Warshall alogirthm 如何保证最短路径?
- c++ - 为什么 c++11 sleep_for microseconds 实际上睡了毫秒?
- python - Scikit-learn 的 (0.22.1) KNNImputer 返回错误数量的值
- javascript - 单击事件时向服务器发送多个 Ajax 请求
- gensim - 当您不知道相关结果时如何计算召回率
- java - Java .csv 打印语句问题
- openid-connect - ADB2C:如何从外部 IDP OIDC 获取自定义声明
- javascript - 修复点错误以指示轮播中的幻灯片
- material-ui - 运行 material-ui codemod 时找不到模块“@material-ui/core/es”错误
- python - 允许 gRPC 转码中的重复字段