当前位置: 首页 > 知识库问答 >
问题:

javascript - vue中,每一秒一个data,如何保存所有data,并一次只要8条数据?

从元明
2023-09-08

在监听里每一秒会返回一个data,一个data长度有65位,总共大概会返回30个,
我也是每一秒实时都要显示数据,一次显示8位,得按顺序来,然后得考虑到有奇数偶数的情况,假设最终只剩7条(或不足8条),就7条一起显示

怎么样保留之后的数据并实时截取呢?

举例子↓

uni.$on('getData', (obj) => {    let data = ['aa','bb','cc','dd','ee','ff']    // let data = ['hh','ii','jj','kk','ll','mm'] //第二次返回    //...期待结果↓    let result = ['aa','bb','cc'] //第一次显示    // let result = ['dd','ee','ff'] //第二次显示    // let result = ['hh','ii','jj'] //第三次显示    // let result = ['kk','ll','mm'] //第四次显示})
这里可以不看,大伙可以这样理解,服务器每秒会返回给我一段心率波形的data,一段有65个点来组成波形图,总共会发送30秒大概一秒一个data,但我不可能一次显示65个点在图标上,所以每隔8个来裁剪,我也不可能等30秒之后再全部push到一个新data里再来每8位裁剪。现在的问题就是我不知道怎么在data实时更新的情况下,记忆之前裁剪的位置并继续裁剪

小弟在这里先感谢各位大神们,感激不尽,祝大神们发财祝大神们取漂亮老婆

共有2个答案

袁鸿畅
2023-09-08

bufferCount

import { Subject, Observable } from 'rxjs';const sub = new Subject();sub.bufferCount(3)  // 使用concatMap和delay保证接收到数据后,至少要等待1秒才能接收下一批数据  .concatMap(data => Observable.of(data).delay(1e3))  .subscribe((result) => {    console.log(result);  });function onEvent(data) {  data.forEach(t => sub.next(t));}onEvent(['aa','bb','cc','dd','ee','ff']);onEvent(['hh','ii','jj','kk','ll','mm']);
韩靖琪
2023-09-08
let allData = [];let currentIndex = 0;uni.$on('getData', (obj) => {       allData.push(...obj);    while (currentIndex + 8 <= allData.length) {        let result = allData.slice(currentIndex, currentIndex + 8);        console.log(result); // 这里处理逻辑        currentIndex += 8;    }     if (currentIndex < allData.length && allData.length - currentIndex < 8) {        let result = allData.slice(currentIndex);        console.log(result); // 这里处理逻辑        currentIndex = allData.length;    }});
 类似资料:
  • 问题内容: 抱歉,我有点菜鸟,我只想知道我如何让此javascript每秒钟运行一次? 源代码: 问题答案: 使用setInterval()每x毫秒运行一段代码。 您可以将要每秒运行的代码包装到一个名为的函数中。 因此它将是: 要停止它,可以运行:

  • 我有一个非常简单的spring boot+spring data rest应用程序。我试图使用spring data rest保存具有一对一映射的实体,但看起来只保存了父实体,子实体没有保存。下面是我的代码 启动后,如果我访问http://localhost:8080/api/,我会看到下面的响应 我的代码有什么问题吗?我尝试使用旧的方法,不使用spring data rest,但使用rest控制

  • 问题内容: 我今天一直在研究这堆东西,我开始认为我想做的事不可能实现,因此,我向你寻求帮助,强大的Stackoverflow。 我建立一个RESTful服务平台在Java中使用Spring 3.1.2数据JPA +作为我的持久层。我的数据模型对象都实现为扩展Spring JpaRepository接口的接口。如示例所示,我已经将所有内容连接在一起并可以很好地使用单个数据源(请注意,显示的数据源是D

  • 我今天一直在研究这个问题,我开始认为我想做的事情可能是不可能的,所以我向你寻求帮助,伟大的斯达克弗洛。 我正在用Java构建一个RESTful服务平台,用Spring Data 3.1.2 JPA作为我的持久层(如本文所述)。我的数据模型对象都是作为扩展Spring JpaRepository接口的接口实现的。我已经用一个数据源很好地连接和运行了所有的东西,如这个例子所示(注意这里显示的数据源是D

  • 我不知道怎么开始。我基本上想要一个图像(我可以调整大小并赋予css属性),每5秒改变一次,变成我这里有的4个导入图像中的另一个。

  • 问题内容: 我想知道如何每x秒重绘和更新JPanel的背景…这是我的代码: 我的代码有2个问题:1-JPanel根本没有被绘制。2-第一张可以打印,然后每次打印数量增加一倍。有什么建议吗?先感谢您 更新:我以这种方式解决了这个问题: 更新2: 问题答案: 使用Swing计时器,