Как передать общий тип c, используемый в функции? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть тип функции в typescript, как показано ниже:

export type NextFunType = <E, T>(event: E, context: Context) => Promise<T>;

Затем я создаю функцию с NextFunType, как показано ниже:

const next: NextFunType = (event: string, context: Context) => {
  return Promise.resolve(true);
};

Но я получил ошибку :

Type '(event: string, context: Context) => Promise<boolean>' is not assignable to type 'NextFunType'.
  Types of parameters 'event' and 'event' are incompatible.
    Type 'E' is not assignable to type 'string'

Как мне создать функцию с типом generi c?

1 Ответ

0 голосов
/ 13 июля 2020

Правильный способ объявления вашего типа:

export type NextFunType<E, T> = (event: E, context: any) => Promise<T>;

, и когда вы инициализируете переменную, вам нужно будет передать типы для E и T

 const next: NextFunType<string, boolean> = (event: string, context: any) => {
      return Promise.resolve(true);
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...