node.js - 当数据量很大时,angular 2 http get 请求被调用两次
问题描述
我正在尝试使用 Angular 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)}
解决方案
尝试如下
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 毫秒
推荐阅读
- date - as.POSIXct 日期时间转换函数
- r - SQL xp_cmdshell 无法识别 R 库包
- c++ - 用于参数包的 Visual Studio 2022 模板 Intellisense?
- visual-studio-code - 如何解决问题错误:找不到模块'gulp-sass'
- html - Opera 浏览器中不显示 Windows 资源管理器文件
- flutter - 未为类型列表定义发件人
- reactjs - 如何处理异步数据、React Context 和 hooks
- spring-boot - HikariDataSource 异常
- excel - 使用 vba 代码无法在 excel 工作表中找到值时运行时错误 91
- angular - 来自画廊的视频未加载到 iOS 离子角度应用程序上