2016-04-01 16 views
0

私はTwitterからツイートを取得しようとしていて、そのツイートからハッシュタグを取得し、Flickrから画像を取得しようとしています。Observableサブスクリプションに変数参照を渡す方法

私はつぶやきと画像を結合してください。ただし、最後にコンソールログを参照してください。私は最初のものが現在のツイートを出力し、2番目のものがこのツイートのために検索された画像を出力することを期待します。

しかし、console.log(tweets[i])は常にリスト内の最後のツイートを印刷し、console.log(results)は現在の結果を印刷します(つまり、すべての結果が印刷されます)。

ところで、今はjsonファイルからつぶやきやひねりが検索されています。

tweets$.subscribe((tweets) => { 
      for (var i in tweets) { 
       var hashtags = tweets[i].entities.hashtags; 
       for (var j in hashtags) { 
        var flicks$ = this.flickrService.getImagesMock(hashtag[j]); 
        flicks$.subscribe((results) => { 
         console.log(tweets[i]); 
         console.log(results); 
        }); 
       } 
      } 
     }); 

は、だから私の質問は、どのように私は、サブスクリプションが作成されたときに使用されていた iを参照する $flicks.subscribetweets[i]得るのですか?

答えて

1

私は非同期jsのスコープには致命的な問題だと思います。

基本的に、ネストされたサブスクリプションは、最初のループが既に終了した後に実行されます。

関連する問題