Задать вопрос
RazerVG
@RazerVG
Full-stack

Как решить проблему с Map и async/await «No overload matches this call»?

Есть функция, которая возвращает определенный контент,

public async getContent() {

    const a = new Map([
      [
        'AA',
        new Map([
          ['desc', [await this.i18n.t('Hello'), await this.i18n.t('Hello')]],
        ])
      ]
    ]);


она работает, но как только добавляю еще одну пару в внутреннему Map возникает ошибка ?

public async getContent() {

    const a = new Map([
      [
        'AA',
        new Map([
          ['desc', [await this.i18n.t('Hello'), await this.i18n.t('Hello')]],
          ['a', 'b']
        ])
      ]
    ]);
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Задайте явно дженерик для внутреннего Map
public async getContent() {

    const a = new Map([
      [
        'AA',
        new Map<string, string | string[]>([
          ['desc', [await this.i18n.t('Hello'), await this.i18n.t('Hello')]],
          ['a', 'b']
        ])
      ]
    ]);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы