какой возвращаемый тип задать для функции которая возвращает Promise.all

вот функция где надо указать возвращаемый тип

export const getDashboard = (date: TRange): any => {
    return Promise.all([
        StatisticService.getCustomerChart(date),
        StatisticService.getOrderChart(date),
        StatisticService.getPartnerChart(date),
        StatisticService.getWorkerChart(date),
    ])
};

вот класс у которого берутся методы

export class StatisticService {

    static getCustomerChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.CUSTOMER, queryParams);
    }

    static getOrderChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.ORDER, queryParams);
    }

    static getPartnerChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.PARTNER, queryParams);
    }

    static getWorkerChart(date: TRange): TResponseMany<IStatistic> {
        const queryParams = getQueryParams(date);

        return customFetch(URLS.STATISTICS.WORKER, queryParams);
    }
}

и еще интерфейсы

interface IResponseMany<T> extends IResponseDetails {
    body: T[];
}

export type TResponseMany<T> = Promise<IResponseMany<T>>;

export interface IStatistic {
    creationDate: string;
    count: number;
}

Ответы (1 шт):

Автор решения: Grundy

Тип возвращаемый Promise.all, соответствует массиву, элементами которого являются значения переданных Promise.

В данном случае все функции возвращают Prommise<IResponseMany<T>>, следовательно тип возвращаемого значения будет Promise<IResponseMany<T>[]>

→ Ссылка