Angular Typescript:检查作为参数传递的函数的类型
因此,我有以下想法:我想描述一个函数,它将某个服务提供的RxJs Observable作为第一个参数,并将OnNext函数处理程序传递给subscribe方法Angular Typescript:检查作为参数传递的函数的类型,angular,typescript,types,interface,rxjs,Angular,Typescript,Types,Interface,Rxjs,因此,我有以下想法:我想描述一个函数,它将某个服务提供的RxJs Observable作为第一个参数,并将OnNext函数处理程序传递给subscribe方法 import { Observable } from 'rxjs'; export interface OnNextHandler<T> { (value: T): void } export interface ServiceSubscriber<T> { (providedObservable: O
import { Observable } from 'rxjs';
export interface OnNextHandler<T> {
(value: T): void
}
export interface ServiceSubscriber<T> {
(providedObservable: Observable<T>, onNext: OnNextHandler<T>): void
}
所以现在回调返回一些东西,而不是预期的什么都不返回。我在这里遗漏了什么?当回调函数签名错误时,我如何接收错误?谢谢。对此有不同的解释 简单的回答是,规范被视为无效 “不关心返回类型” 而不是 “完全不返回值”
您应将报税表键入“从不”:
export interface ServiceSubscriber<T> {
(providedObservable: Observable<T>, onNext: OnNextHandler<T>): never
}
导出接口服务订阅服务器{
(providedObservable:Observable,onNext:OnNextHandler):从不
}
我相信这应该行得通。你能创建一个stackblitz并在这里分享吗
ngOnInit() {
const { active, archived } = this.notesService;
this.subscribeTo(active, activeNotes => activeNotes); // pay attention here on the 2nd arg
this.subscribeTo(archived, archivedNotes => archivedNotes); // and here as well
}
export interface ServiceSubscriber<T> {
(providedObservable: Observable<T>, onNext: OnNextHandler<T>): never
}