使用定时器发送异步请求会不按照顺序执行,得到的结果可能也不是顺序的
举个栗子,要请求进度条的进度 可能得到的是50% 30% 70% 21%
这种不按照顺序执行的得到的结果
但是RXJS也可以对这种异步情况进行处理
interval 操作符可以处理定时任务,而且更强大的是返回结果也是有顺序的。
interval:创建一个可观察对象,在规定的调度程序中,以规定的时间间隔发出连续的数值。
官方示例
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
const numbers = interval(1000);
const takeFourNumbers = numbers.pipe(take(4));
takeFourNumbers.subscribe(x => console.log('Next: ', x));
// Logs:
// Next: 0
// Next: 1
// Next: 2
// Next: 3
take是拿到前面的几个 参数是几就获取几
使用interval处理得到的结果也是顺序的 0,1,2,3
以上是使用rxjs处理异步的方式 简单快捷
博客探讨了在进行定时器发送异步请求时可能会遇到的顺序执行问题,例如请求进度条进度可能非顺序接收。文章指出,RXJS的interval操作符能有效地解决这个问题,它按照设定的时间间隔顺序发出数值。通过结合take操作符,可以确保获取到的序列是有序的,如示例所示:0,1,2,3。这为处理异步情况提供了一个简洁的解决方案。
280

被折叠的 条评论
为什么被折叠?



