какой возвращаемый тип задать для функции которая возвращает 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>[]>