html定时发送get请求,angular2定时发请求如何实现?

本文介绍了如何在Angular应用中使用interval方法结合HTTP服务实现每秒定时发送请求的功能。通过设置interval来定时触发请求,使用switchMap取消过时的请求,确保效率。在完成服务后别忘了销毁interval以防止资源泄漏。
摘要由CSDN通过智能技术生成

使用interval()方法设置函数执行时间,然后在函数中设置请求,即可实现定时发送请求。interval是window.setInterval的Angular包装形式。

5d706f523e6f5632.jpgangular2定时发请求的实现:// 间隔 1s 请求

this.timer$ = interval(1000)

.pipe(

// 取消过时的请求值

switchMap(() => {

return this.http.get(API);

}),

)

.subscribe(

(res: any) => {

// 百分数处理逻辑

},

() => {

this.timer$.unsubscribe();

},

() => {

this.timer$.unsubscribe();

},

);

interval 返回一个可观察对象,它可以周期性的发出递增数值,但是第一次发出值是在第一个周期结束之后执行的。

interval:

window.setInterval的Angular包装形式。Fn是每次延迟时间后被执行的函数。

间隔函数的返回值是一个承诺。这个承诺将在每个间隔刻度被通知,并且到达规定迭代次数后被取消,如果迭代次数未定义,则无限制的执行。通知的值将是运行的迭代次数。取消一个间隔,调用$intreval.cancel(promise)。

备注:当你执行完这项服务后应该把它销毁。特别是当controller或者directive元素被销毁时而$interval未被销毁。你应该考虑到在适当的时候取消interval事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值