本文整理汇总了TypeScript中app/core/utils/explore.updateHistory函数的典型用法代码示例。如果您正苦于以下问题:TypeScript updateHistory函数的具体用法?TypeScript updateHistory怎么用?TypeScript updateHistory使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了updateHistory函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
return async (dispatch, getState) => {
const { datasourceInstance, eventBridge, queries, queryIntervals, range, scanning, history } = getState().explore[
exploreId
];
if (resultType === 'Logs' && datasourceInstance.convertToStreamTargets) {
dispatch(
startSubscriptionsAction({
exploreId,
dataReceivedActionCreator: subscriptionDataReceivedAction,
})
);
}
const datasourceId = datasourceInstance.meta.id;
const transaction = buildQueryTransaction(queries, resultType, queryOptions, range, queryIntervals, scanning);
dispatch(queryStartAction({ exploreId, resultType, rowIndex: 0, transaction }));
try {
const now = Date.now();
const response = await datasourceInstance.query(transaction.options);
eventBridge.emit('data-received', response.data || []);
const latency = Date.now() - now;
// Side-effect: Saving history in localstorage
const nextHistory = updateHistory(history, datasourceId, queries);
dispatch(historyUpdatedAction({ exploreId, history: nextHistory }));
dispatch(processQueryResults(exploreId, response, latency, resultType, datasourceId));
} catch (err) {
eventBridge.emit('data-error', err);
dispatch(processQueryErrors(exploreId, err, resultType, datasourceId));
}
};
示例2: return
return (dispatch, getState) => {
const { datasourceInstance, history, queryTransactions, scanner, scanning } = getState().explore[exploreId];
// If datasource already changed, results do not matter
if (datasourceInstance.meta.id !== datasourceId) {
return;
}
// Transaction might have been discarded
const transaction = queryTransactions.find(qt => qt.id === transactionId);
if (!transaction) {
return;
}
// Get query hints
let hints: QueryHint[];
if (datasourceInstance.getQueryHints) {
hints = datasourceInstance.getQueryHints(transaction.query, result);
}
// Mark transactions as complete and attach result
const nextQueryTransactions = queryTransactions.map(qt => {
if (qt.id === transactionId) {
return {
...qt,
hints,
latency,
result,
done: true,
};
}
return qt;
});
// Side-effect: Saving history in localstorage
const nextHistory = updateHistory(history, datasourceId, queries);
dispatch(
queryTransactionSuccessAction({
exploreId,
history: nextHistory,
queryTransactions: nextQueryTransactions,
})
);
// Keep scanning for results if this was the last scanning transaction
if (scanning) {
if (_.size(result) === 0) {
const other = nextQueryTransactions.find(qt => qt.scanning && !qt.done);
if (!other) {
const range = scanner();
dispatch(scanRangeAction({ exploreId, range }));
}
} else {
// We can stop scanning if we have a result
dispatch(scanStopAction({ exploreId }));
}
}
};