我在最近4个小时内坚持使用这段代码,无法弄清楚问题是什么。它是用打字稿写的。 newsa 数组将填充我使用api提取的数据。但是,在我正确地声明了所有需求之后,它显示了像找不到推送属性这样的错误,例如公共前缀和所有。没有任何错误,但没有任何东西被推动。怎么了。 如果你回答它会很有帮助。
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 :(得分:0)
而不是
function(i)
使用
(i) =>
保留this