我正在从服务器上获取数据。
const response = await request() as RecordingGetChannelData
export type RecordingGetChannelData = (
RecordingGetChannelDataAnalogValues |
RecordingGetChannelDataGpiAndRxChannels |
RecordingGetChannelDataValueObject
);
export type RecordingGetChannelDataAnalogValues = {
data_type: 'analog';
timestamp: number;
interval: number;
values: number[];
value: string;
};
export type RecordingGetChannelDataGpiAndRxChannels = {
data_type: 'log';
values: number[];
value: string;
};
export type RecordingGetChannelDataValueObject = {
timestamp: number;
value: string;
};
从这个
response
channelData
那是三种类型之一
export type ChannelData = (
ChannelDataAnalogValues |
ChannelDataGpiAndRxChannels |
ChannelDataValueObject
);
export type ChannelDataAnalogValues = {
data_type: 'analog';
timestamp: number;
interval: number;
values: number[];
value: string;
};
export type ChannelDataGpiAndRxChannels = {
data_type: 'log';
values: number[];
value: string;
};
export type ChannelDataValueObject = {
timestamp: number;
value: string;
};
我该怎么做?
这是我最好的尝试,但不起作用:
let channelData = {};
if (response['data_type']) channelData.dataType = response['data_type'];
if (response['timestamp']) channelData.timestamp = response['timestamp'];
if (response['interval']) channelData.interval = response['interval'];
if (response['values']) channelData.values = response['values'];
if (response['value']) channelData.value = response['value'];