当数据量很大时,Angular 2 http get请求被调用两次

时间:2018-07-03 05:40:04

标签: node.js angular mongodb rest api

我正在尝试使用有角度的http get请求获取一个月的历史数据。我正在使用angular 5,服务器在节点js中,而db是mongodb。 第一次单击按钮时,它将命中服务器,并且控制台已打印在服务器上。 2分钟后,由于ui击中服务器,服务器控制台再次出现,但ui并未调用服务器。 1分钟后,服务器会显示已发送成功的响应,但ui控制台显示错误-“拒绝连接”。我试图使用可观察的份额来解决它。但这没用 这是我的服务。

getReports(params): Observable<number>{
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });
        return this.http.get(url, options)
       .map((res: Response) => res.json())
       .catch(this.handleError)}

1 个答案:

答案 0 :(得分:1)

尝试如下

return this.http.get(url, options)
    .timeout(3000, new Error('timeout exceeded'))
    .map((res: Response) => res.json())
    .subscribe(
        data => this.data = data,
        error => console.debug('ERROR', error),
        () => console.log('END')
      );
    .catch(this.handleError)}

使用超时是可能的。 3000表示3秒或3000毫秒