TelegramPWA/src/util/requestActionTimeout.ts
2023-04-25 17:27:49 +04:00

15 lines
448 B
TypeScript

import { getActions } from '../global';
import type { CallbackAction } from '../global/types';
const callbacks = new Map<string, number>();
export default function requestActionTimeout(action: CallbackAction, timeout: number) {
const name = action.action;
clearTimeout(callbacks.get(name));
const timerId = window.setTimeout(() => {
// @ts-ignore
getActions()[name](action.payload);
}, timeout);
callbacks.set(name, timerId);
}