отправка get с прикрепленным наблюдаемым с угловым и ионным каркасом

Я потратил часы, пытаясь разными способами заставить этот Observable работать в ионном / угловом режиме. Я пробовал разные настройки и интерфейсы для плагина к Observable, который имеет свойства, которые являются строками. Я пробовал подключить JSON в качестве интерфейса. Мне просто нужно выполнить GET на https-сервере с дополнительными параметрами. Я продолжаю получать ошибки, утверждающие, что по существу возвращенный http не может быть правильно введен в наблюдаемый объект, определенный в getGP. ошибка -  введите здесь описание изображения При удалении подписки я получаю почти идентичную ошибку, когда JSON не используется в качестве интерфейса. Простой GET / POST легко сделать в vanilla, а angular сводит меня с ума. Мне также нужно сохранить ответ в переменной и ввести данные в другой модуль. Я просмотрел документы rxjs и просто в недоумении. Помощь будет оценена. Я использую последнюю версию angular и последнюю версию ionic.

import { HttpClient, HttpHeaders } from '@angular/common/http';

getGP(): Observable<JSON> {
    this.httpOptions = {
        headers: new HttpHeaders({
            'Content-Type': 'application/json',
            'token': 'token',
            'mtype': 'g',
        })
    }

    return this.http.get<JSON>(this.base_path + '/pathtoserver', this.httpOptions).subscribe(res => console.log(res))

}

person sasy solutions    schedule 25.08.2019    source источник
comment
Вы не хотите использовать JSON в качестве типа, вы должны определить, каким должен быть возвращаемый объект в качестве интерфейса, дать ему имя и использовать это имя вместо JSON. Во-вторых, вы не хотите подписываться в сервисе, удалите подписку.   -  person dmcgrandle    schedule 25.08.2019


Ответы (1)


Вы указали, что ваша функция должна возвращать Observable, но вместо этого вы вернули подписку. также измените JSON, чтобы узнать, работает ли он

Удалена подписка, которую он должен скомпилировать.

getGP(): Observable<any> {
    this.httpOptions = {
        headers: new HttpHeaders({
            'Content-Type': 'application/json',
            'token': 'token',
            'mtype': 'g',
        })
    }

    return this.http.get<JSON>(this.base_path + '/pathtoserver', this.httpOptions)

}
person Fan Cheung    schedule 26.08.2019