Как ссылаться на тип возвращаемого значения обратного вызова в TypeScript - PullRequest
1 голос
/ 01 мая 2020

У меня есть общая функция c, подобная этой

function computedLastOf<T>(cb: () => T[]) : Readonly<Ref<T | undefined>> {
  return computed(() => {
    const collection = cb();
    return collection[collection.length - 1];
  });
}

Это своего рода макрос, который возвращает вычисленное (реактивное) значение для коллекции типа T.

Но обратите внимание первый <T>. Пользователю этой функции требуется указать тип. Было бы хорошо, если бы в этом не было необходимости и если бы это было сделано. Возвращаемое значение здесь всегда будет дочерним по отношению к коллекции, которую возвращает обратный вызов.

Есть ли способ сделать вывод таким образом?

Спасибо!

1 Ответ

1 голос
/ 01 мая 2020

При вызове обобщенной функции c обычно можно просто пропустить аргумент типа, что приведет к его выводу. Это иногда терпит неудачу, но чаще всего в гораздо более сложном сценарии ios, где выводящий не улавливает определенные детали и выводит слишком широкий тип (допустимый, но не предполагаемый).

Попробуйте назовите его computedLastOf(arg) вместо явного указания аргумента generi c с computedLastOf<someType>(arg).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...