Почему в этом коде есть ошибка преобразования типа? - PullRequest
0 голосов
/ 06 ноября 2019

Я не понимаю, почему в строке this.claim = claim; выдается ошибка «Невозможно преобразовать тип« А »в тип« Заявка »». Мне нужно вернуть наблюдаемую, потому что эта функция вызывается в резольвере. На самом деле мне не нужно возвращать саму заявку, мне просто нужно установить свойство в ClaimStoreService, но я не мог понять, как вернуть пустую или пустую наблюдаемую.

export class ClaimStoreService {

    constructor(private readonly claimService: ClaimService) { }

    claim: Claim;

    getClaim(guid: string): Observable<Claim> {
        return this.claimService.get(guid).pipe(
            take(1),
            mergeMap(claim => {
                // Cannot convert type 'A' to type 'Claim'
                this.claim = claim;
                return of(claim);
            }));
    }
}

Ответы [ 2 ]

1 голос
/ 06 ноября 2019
claim: Claim;

getClaim(guid: string): Observable<Claim> {
        return this.claimService.get(guid).pipe(
            take(1),
            // give type here will solve your issue
            mergeMap((claim:Claim) => {
                this.claim = claim;
                return of(claim);
            }));
    }
0 голосов
/ 06 ноября 2019

Я думаю, что если вы используете this.claimService.get<Claim>(guid), вам не нужно вводить claim в mergeMap(claim =>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...