Error Handling: support errors and data in a response (#20169)

This commit is contained in:
Ryan McKinley
2019-11-05 15:20:04 -08:00
committed by GitHub
parent 7a3d1c0e4b
commit 92ab4d80f0
9 changed files with 68 additions and 13 deletions

View File

@@ -38,6 +38,9 @@ export function processResponsePacket(packet: DataQueryResponse, state: RunningQ
packets[packet.key || 'A'] = packet;
let loadingState = packet.state || LoadingState.Done;
let error: DataQueryError | undefined = undefined;
// Update the time range
const range = { ...request.range };
const timeRange = isString(range.raw.from)
@@ -50,13 +53,18 @@ export function processResponsePacket(packet: DataQueryResponse, state: RunningQ
const combinedData = flatten(
lodashMap(packets, (packet: DataQueryResponse) => {
if (packet.error) {
loadingState = LoadingState.Error;
error = packet.error;
}
return packet.data;
})
);
const panelData = {
state: packet.state || LoadingState.Done,
state: loadingState,
series: combinedData,
error,
request,
timeRange,
};