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

标签 node.js angular mongodb rest api

我正在尝试使用 Angular http get 请求获取一个月的历史数据。我使用的是 Angular 5,服务器在 Node js 中,数据库是 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)}

最佳答案

尝试如下

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 毫秒

关于node.js - 当数据量很大时,Angular 2 http get 请求被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51147316/

相关文章:

javascript - 如何在 Thenable 对象中正确返回 'this'?

angular - 如何使用 ng2-file-upload 在 base64 中发送图像?

angular - 将 Json 映射到 Angular 对象

javascript - 如何在 Meteor + Ionic 应用程序中使用 Meteor 方法

javascript - 使用 mongodb 聚合框架计算频率

node.js - 将函数应用于从 nodejs 中的 MongoDB 查询返回的所有文档的字段

javascript - 从 Nodejs 中的函数返回数组并将其发送到 ejs View ?

javascript - Node.js + 向第三方服务发送 API 请求

MongoDB 在事先不知道所有字段的情况下聚合字段

javascript - ReactJS 服务器端渲染与热重载 (webpack-dev-server)