javascript - 有没有办法限制我使用 JavaScript 从传感器读取数据的时间?
问题描述
我正在尝试使用来自 FitBit 的加速度数据填充 CSV 文件。这是我到目前为止的代码:
import { display } from "display";
import * as document from "document";
const accelLabel = document.getElementById("accel-label");
const accelData = document.getElementById("accel-data");
const header = ["X","Y","Z"]
const delimiter = ', '
let newheader = header.join(delimiter)+'\n';
let csv = newheader;
const sensors = [];
if (Accelerometer) {
const accel = new Accelerometer({ frequency: 1 });
//const obj = {name: "John", age: 30, city: "New York"};
accel.addEventListener("reading", () => { //put your reading into here //toFixed is the same as round(x,1) //? is like an if else
let data = [accel.x, accel.y, accel.z];
csv += data.join(delimiter)+"\n";
});
sensors.push(accel);
accel.start();
} else {
accelLabel.style.display = "none";
accelData.style.display = "none";
}
我只希望它填充文件约 10 秒。有没有办法限制这个程序运行多长时间?
有可能我可以使用的库,但我在 FitBit Studio 中编写这个,并且不确定这会如何影响我可以/不能使用的库。
解决方案
setTimeout() 工作完美。我稍微修改了一下,让它看起来更像这样:
...
function accelread(){
accel.addEventListener("reading", () => {
//put your reading into here //toFixed is the same as round(x,1) //? is like an if else
let data = [accel.x, accel.y, accel.z]; //setTimeout()
csv += data.join(delimiter)+"\n";
});
};
if (Accelerometer) {
const accel = new Accelerometer({ frequency: 1 });
setTimeout(accelread(),3000);
//const obj = {name: "John", age: 30, city: "New York"};
});
...
它不是成品,我还没有办法对其进行测试,因为我用来测试应用程序的 FitBit 模拟器实际上没有任何加速度数据,但这个想法是成立的。
推荐阅读
- typescript - 打字稿:联合类型`字符串| 未定义`和三元
- prolog - 可能的无限递归(循环):使用 DCG 解析规则
- c++ - 使用 makefile 将结果保存在 .txt 文件中,但保存在相对路径中
- sql - 条件连接然后保存表
- javascript - 如何根据选择进行过滤?
- node.js - 身体获取节点-imap
- c# - WCF 测试客户端 - 如何将 xml 文件作为输入
- java - Thymeleaf 中的月本地化
- google-sheets-formula - Googlesheet 查询函数在计算元素时返回空白而不是 0
- android - 使用 Transformations.map 而不是 observeForever