【发布时间】:2019-06-10 22:00:18
【问题描述】:
假设我有一些操作会返回一个 observable。
this.loginService
.post<IResponse>(url, { username, password })
.subscribe(
next => { /* I know the type of next */ },
error => { /* Can I specify type of err, or is it always any? */ }
);
next 的类型是我可以设置的 - 在本例中为 IResponse。
error 怎么样?我能以某种方式指定它的类型吗?还是总是any,我总是需要在处理程序中进行类型转换?
【问题讨论】:
-
你永远不能假设 observable 捕获的错误类型。您可以使用 instantof 运算符在运行时检查类型。我所做的是捕获服务中的所有错误,然后只转发给定类型的错误。然后,该服务的消费者可以假设下游的错误类型。
-
@Reactgular 这是我最初的假设,直到我看到下面的答案 - 你可能有一个例子吗?我也不想假设类型,感觉就像我在打破类型系统。
标签: angular typescript rxjs