我在“ componentDidMount”内部有两个函数,每个函数读取传感器的值并将其发送到后端(烧瓶),其中一个函数比另一个函数快得多,尽管不应该那样做。 如何设法同时(并行)从两个函数发送值?假设我每秒在后端收到40个值,我希望其中的20个值来自第一个函数,而重命名20个值来自第二个函数
componentDidMount() {
SensorManager.startAccelerometer(30); // To start the accelerometer with a minimum delay of 50ms between events.
DeviceEventEmitter.addListener("Accelerometer",function(data) {
fetch("http://192.168.1.107:5000/api/or", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
accelerometer: data
})
})
.then(response => response.json())
.then(responseJson => {
console.log("hello");
})
.catch(error => {
console.error(error);
});
});
SensorManager.startOrientation(50);
DeviceEventEmitter.addListener("Orientation",function(data) {
fetch("http://192.168.1.107:5000/api/or", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
orientation: data
})
})
.then(response => response.json())
.then(responseJson => {
console.log("hello");
})
.catch(error => {
console.error(error);
});
});
}
答案 0 :(得分:0)
这仅取决于您监听的事件。如果您想要更清洁的东西,请不要使用侦听器。使用吸气剂并像这样循环进行
file = models.FileField(null=False, blank=False)
答案 1 :(得分:0)
这两个独立事件中的每一个发生时,您都有一个回调。您可以尝试临时存储该数据并编写逻辑来更均匀地管理POST请求,而不必立即发出API请求(每个事件)的请求。
第一个事件触发=>存储加速度计数据。如果定向数据已经存在=>发出两个POST请求(反之亦然)。
如果您要合并将请求耦合在一起的逻辑,则切换到异步/等待可能更易读。
我同意基准测试/审查文档可能会指出为什么这些请求的时间安排如此之大。该API是为分别管理请求而构建的,因此,请确保您可以依靠每个加速度计事件的方向事件-或至少可以正常地处理错误。