2016-05-15 94 views
1

我被這段代碼困住了最後4個小時,無法弄清楚是什麼問題。它是用打字機寫的。 newsa數組將填充我使用api提取的數據。但相反,它顯示錯誤,如無法找到推屬性後,我正確地聲明數組與所有需要像公共前綴和所有。沒有錯誤,但沒有推動。怎麼了。 如果你回答,這將是很大的幫助。陣列不工作的推法 - Angular 2

public newsa: Array<any> = []; 
fetchNews() { 
    console.log("Fetch NEws has started"); 
    var that = this; 
    let googlenewsUrl:string; 
    let finalUrl: string; 

    this.countries.forEach(function(i) { 

     googlenewsUrl = "https://news.google.com/news?q=" + i.name.replace(/\s+/g, '') + "&output=rss"; 
     finalUrl = '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=50&callback=JSONP_CALLBACK&q=' + encodeURIComponent(googlenewsUrl); 
     that.jsonp.get(finalUrl).toPromise().then(news => that.newsa.push(news)).catch(that.handleError);   
    }); 

} 
+0

範圍還API請求是成功的。除了主推動部分以外,一切都很完美。 –

+0

我想通了 –

+3

然後你應該用你的解決方案回答你自己的問題。 [相關xkcd](https://xkcd.com/979/)。 – grimurd

回答

0

代替

function(i) 

使用

(i) => 

保留的this