2017-01-25 6 views
1

У меня есть приложение Angular 2, которое я подключаю к заднему концу RESTful. Задний конец работает нормально. Приложение Angular 2 отлично работало, когда я использовал его с локальным хранилищем. Теперь я застрял на наблюдаемых.Проблема с RXJS Observables делает звонки REST?

Основной компонент вызывает службу инициализации:

ngOnInit() { 
    this.appList = this.appListService.getAppList(); 
} 

appListService называет услугой хранения с запросом GET:

getAppList() { 
    console.log(this.storage.get()); 
    return this.storage.get(); 

}

Служба хранения попадает на спине конец с запросом на получение через конечную точку:

get(): Observable<Course[]> { 
    return this.http.get(this.BaseUrl) 
        .map(this.extractData) 
        .catch(this.handleError); 
        } 

Что все это заставляет меня по логу консоли заключается в следующем:

Observable_isScalar: falseoperator: CatchOperatorsource: Observable__proto__: Object 

Так как я могу превратить наблюдаемый в массив объектов, который является то, что запрос GET должен вернуть со спины конец?

+2

Там нет лучшего места, то документы: https://angular.io/docs/ts/latest/guide/server-communication.html – olsn

ответ

4

Вам нужно будет подписаться на наблюдаемый.

this.storage.get().subscribe((data: any) => {   
       console.log(data); 
    }, 
    error => { 
       // handle the error 
      }); 
+0

Я получаю ошибки, которые предполагают, что он хочет обработки ошибок. Что-то вроде этого, может быть? . getAppList() { this.storage.get() подписаться ((данные: любой) => { console.log (данные); возвращение (данных); }, ошибка => {console.log (ошибка)}); } –

+0

Я добавил ошибку захвата в вышеупомянутый ответ. –

+0

Выше, похоже, работает, но я получаю ошибки CORS. Если с вами все в порядке, я бы хотел исправить их и проверить, работает ли это, прежде чем принимать ответ. –