0

Как сделать, чтобы асинхронная функция, построенная через async/await вернула значение в TypeScript?

const func = async (param: type) : object {}

Не работает, а писать все в одной функции не очень. Нужно чтобы асинхронная функция вернула именно значение. То есть return object допустим. И чтобы потом через await в другой функции можно было использовать функцию func как значение.

И если даже заменить на Promise, оно не работает, то есть нельзя потом написать

async function getCompany(companyName: string) {
      const companyInfo = await getCompanyIdByName(companyName);
}

введите сюда описание изображения

введите сюда описание изображения

RIXIN
  • 95
  • Эээ, что? Сформулируйте внятней что нужно – Alexey Ten Apr 03 '22 at 07:55
  • Переформулировал, надеюсь стало понятнее. – RIXIN Apr 03 '22 at 08:14
  • тип возвращаемый async функцией всегда - Promise. – Grundy Apr 03 '22 at 08:15
  • при этом, при использовании await - получается конкретное значение. – Grundy Apr 03 '22 at 08:16
  • И как в таком случае обрабатывать значение? Через .then? – RIXIN Apr 03 '22 at 08:16
  • @RIXIN, через await же – Grundy Apr 03 '22 at 08:17
  • Так-с. Сейчас скрины прикреплю в чем проблема. – RIXIN Apr 03 '22 at 08:18
  • @Grundy, вот, правил – RIXIN Apr 03 '22 at 08:23
  • Перечитай мои сообщения и рекомендацию в ошибке :) тип возвращаемый async функцией всегда - Promise, а ты указываешь object – Grundy Apr 03 '22 at 08:49
  • У тебя тип неправильный, редактор же подсказывает мол "Мб ты хотел вернуть Promise? – Алексей Apr 03 '22 at 08:53
  • @Алексей, даже если я ставлю Promise оно не работает. – RIXIN Apr 03 '22 at 09:08
  • Ну ещё неплохо бы из функции возвращать то что вы обещали вернуть. Сейчас она не возвращает ничего. – Alexey Ten Apr 03 '22 at 09:24
  • @AlexeyTen, так там же return body... Или это не то? – RIXIN Apr 03 '22 at 09:25
  • @RIXIN, это не то. – Grundy Apr 03 '22 at 09:36
  • @Grundy, тогда не очень понимаю как именно должно быть – RIXIN Apr 03 '22 at 09:36
  • ты должен вернуть Promise. Сейчас у тебя из функции - ничего не возвращается, что равносильно Promise<void>, а ты хочешь Promise<object> – Grundy Apr 03 '22 at 09:40
  • А. Всё понял, спасибо. – RIXIN Apr 03 '22 at 09:40
  • ну и текущая функция request - судя по всему, не возвращает Promise – Grundy Apr 03 '22 at 09:41
  • А. Я всё исправил. Всем спасибо – RIXIN Apr 03 '22 at 09:51

0 Answers0