У меня есть следующие функции:
getNetworkByName(prefix: string): Observable<Network[]> {
return this.http.get<Network[]>(this.Url + '/networks/search?name-prefix=' + prefix)
.catch(handleError); }
и
getNetwork(id: number): Observable<Network> {
return this.http.get<Network>(this.Url + '/networks/' + id)
.catch(handleError); }
Я хотел бы иметь другую функцию, например getNetworkByNameAndId(prefix: string | number): observable<network[]>
, которая объединяет результат предыдущей функции.Я пробовал оператор слияния, но не работал из-за разных типов.
Как это можно решить эффективно без подписки на функции.Мне нужно решить это во внешнем интерфейсе.В некоторых случаях мое сетевое имя может быть 1 и 1, также сетевой идентификатор может быть внутренним 1, поэтому я хотел бы выполнить поиск на основе имени и идентификатора.Я сделал что-то вроде этого:
return this.getNetworkByName(prefix.toString()).pipe(merge(this.getNetwork(parseInt(prefix,10)));
Я получаю сообщение об ошибке
Type 'Observable<Network | Network[]>' is not assignable to type 'Observable<Network[]>'.
С уважением