Не могу понять, как задекларировать аргумент функции, который является массивом функций, каждая из которых возвращает промис. Вот моя попытка декларации(не работает)
function anyFunc(inputFunctions: (<T>() => Promise<T>)[]) {
return Promise.all(inputFunctions.map(value => value()));
}
использовать вот так:
anyFunc([() => Promise.resolve(1), () => Promise.resolve("a")]).then(value => {
console.log(value); //[1, "a"]
});
тоесть в итоге ts должен знать, что за значения находятся в
value
сама ошибка:
Type 'Promise<string>' is not assignable to type 'Promise<T>'.
Type 'string' is not assignable to type 'T'.