我有大量数据要转换成新格式。
实际上我正在使用 map 方法,但因为它是同步的并且会影响性能。
dataFormatted = cmtAllRawdataDB[0].rows.map(elm => new Message(elm, configResult));
有关Message
类的信息,全局格式如下:
export class Data {
public value: string;
public date: Date;
constructor(dbData) {
this.value = '123';
}
}
export class Measure {
public name: string;
public unit: string;
public data: Data[];
constructor(config, dbData) {
this.name = config.name;
this.unit = config.value;
...
this.data = [new Data(dbData)];
}
}
export class Sensor {
public id: string;
public label: string;
public measures: Measure[] = [];
constructor(dbData, config) {
this.id = '123';
this.label = 'SensorType';
config.unitConfig.map(elm => this.measures.push(new Measure(elm, dbData)));
}
}
export class Message {
public id: string;
...
public sensors: Sensor[];
constructor(dbData: any, config: any) {
this.id = dbData.value._id;
....
this.sensors = [new Sensor(dbData, config)];
console.log(this.id, this.arrivalTimestamp);
}
}
有没有办法异步运行这段代码?
最佳答案
把这个操作放在函数里面,放在settimeout方法里面,只需要10毫秒
var example = () => {
setTimeout(() => {
return (dataFormatted = cmtAllRawdataDB[0].rows.map(
elm => new Message(elm, configResult)
));
}, 10);
};
关于javascript - 将同步 Map 方法转换为异步特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52945413/