微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多个返回类型在 Angular 11 中显示错误

如何解决多个返回类型在 Angular 11 中显示错误

我有一个 Angular 服务。该服务的方法调用 API 并返回一个对象。现在我想修改那个服务功能。我希望如果 API 调用返回对象,则该函数将返回该对象作为可观察对象,但 API 返回 null,则该函数将返回一串消息。这是我的角度代码

getAccountDetailsById(id: number): Observable<AccountInfo> | string {
        return this.service.get<AccountResultInfo>(`${this.apiPATH}accountById/${id}`)
            .pipe(map(user => {
                if (user.Account) {
                    return user.Account;
                } else {
                    return user.Message;
                }
            }));
    }

但它显示以下错误

输入 'Observable' 不可分配到类型 '可观察'。 输入'字符串| AccountInfo' 不可分配到类型 'AccountInfo'。 类型 'string' 不可分配给类型 'AccountInfo'。

解决方法

我认为您的返回类型有误/打错了。应该是:

getAccountDetailsById(id: number): Observable<AccountInfo | string>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。