12345678910111213141516171819202122232425262728 |
- import { Canceler } from 'axios';
- import { defineStore } from 'pinia';
- export interface MainStateType {
- cancelReqToken: Canceler[];
- }
- export interface MainActionsType {
- pushReqToken(cancelToken: Canceler): void;
- clearReqToken(): void;
- }
- export default defineStore<'main', MainStateType, {}, MainActionsType>('main', {
- state: () => ({
- cancelReqToken: [],
- }),
- actions: {
- pushReqToken(cancelToken) {
- this.cancelReqToken.push(cancelToken);
- },
- clearReqToken() {
- this.cancelReqToken.forEach((cancel) => {
- cancel('axios cancel by router change');
- });
- this.cancelReqToken = [];
- },
- },
- });
|