我正在开发一些应用程序,这些应用程序必须从获取数据。例如,对于符号“GOOG”,我编写了以下代码来获取表
export class ActService{
act = [];
url = 'http://query.yahooapis.com/v1/public/yql?format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=&q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol=%22goog%22';
private headers = new Headers({'Content-Type': 'application/json'});
constructor(private http : Http){
this.getAct();
}
getAct() {
console.log("update");
return Observable
.interval(1000)
.flatMap(() => {
return this.http.get(this.url)
.map(res => res.json());
});
}
}应用程序组件使用actService的代码:
export class AppComponent implements OnInit{
act =[];
ngOnInit(){
this.actService
.getAct()
.subscribe(
act => this.act = act,
err => console.error(err)
);
}
constructor( private actService: ActService){}
}这种工作有时很好,但通常这是一个错误。
"No definition found for Table yahoo.finance.quotes"问题是,在启动应用程序时,以及在随机的时刻,我都会收到这个错误。特别是当日期是:任何时间,任何时间,00秒。我在15:34:59得到了好消息,但在15:35:00我犯了错误。

如何解决这个问题?是我的错吗?我没有看到我的服务有什么不好的地方,我的“得到”。
我阅读了堆栈中关于这个错误的最后几个问题,但是没有类似的解决方案。
发布于 2017-02-12 05:04:31
我也发现了这个问题,并通过更新YQL控制台上的YQL查询来修复它。
您可以在yahoo控制台上尝试查询https://developer.yahoo.com/yql/console/ (不要忘记选中“显示社区表”选项)。例如:
https://developer.yahoo.com/yql/console/?q=select%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22AAPL%22)&env=store://datatables.org/alltableswithkeys#h=select++from+yahoo.finance.quotes+where+symbol+in+(%22AAPL%22)
基于您的查询,YQL控制台将为您提供REST查询,您可以在您的应用程序上使用。复制它以替换当前查询。
https://stackoverflow.com/questions/42167698
复制相似问题