2016-04-01 3 views
1

Я работаю в Angular2 с TypScript.Как вы называете onNext изнутри вложенного Observable

Я создал функцию, которая создает и возвращает Observable. Внутри этого наблюдаемого, другое наблюдаемое подписывается, и я хочу позвонить onNext, когда внутренний наблюдаемый получает событие. Вот код

getImages(hashtag: string) { 

    var imagesurl = this.flickrAPI.fetchImagesByTag + hashtag; 
    return Observable.create((o) => { 
     this.httpService.get(imagesurl) 
     .map(res => { 
      console.log("res"); 
      console.log(res.json()); 
      return res.json(); 
     }) 
     .map(res => res.photos.photo[0]) 
     .subscribe((result) => { 
      console.log(result); 
      console.log(this.generateImageUrl(result)); 
      o.next(this.generateImageUrl(result)); 
     }); 
    }); 
} 

Проблема заключается в том, что я получаю сообщение об ошибке, что o не распознается. По-видимому, из своего положения внутри обратного вызова subscribe он отсоединился от переданного параметра o.

Как это исправить?

+0

Можете ли вы опубликовать синтаксически полный фрагмент кода? –

+0

@ RyanCavanaugh ok Я только что обновил его, чтобы быть всей функцией – CodyBugstein

ответ

4

Rx.Observerable имеет next() способ нет onNext().

+0

... hmmm..не в соответствии с этим видео https://egghead.io/lessons/rxjs-creating-an-observable – CodyBugstein

+0

почему вы положили -1 и изменить onNext на следующий в вашем примере? – kit

+0

Я пробовал ваше предложение ... странно это работает сейчас! Я думаю, что 'egghead' ошибается. Я не могу изменить свой голос, если вы не отредактируете свой ответ, можете ли вы сделать небольшое редактирование? – CodyBugstein

Смежные вопросы