Машинопись: объект типа «неизвестно» - PullRequest
0 голосов
/ 18 марта 2020

У меня есть генератор функция foo(), в которой я вызываю API , используя fetch. После того, как я получил ответ от API , я анализирую его как JSON.

Typescript выдает ошибку: Object of type 'unknown' в этой строке -> const msg = yield response.json();

function* foo(val: ValType): Generator {
    const response = yield fetch(endPoint, {
        method: 'POST',
        body: JSON.stringify(val),
    });

    if (response) {
        // typescript throws error
        // that type is unknown for
        // the response object
        const msg = yield response.json();
        return msg;
    }
}

1 Ответ

0 голосов
/ 18 марта 2020

Ошибка в том, что вы не объявили тип для response. Использование должно объявлять типы для функции Generator следующим образом.

function* foo(arg): Generator<YieldType, ReturnType, ArgType> {
  // 
}

Нет необходимости объявлять тип yield, тип возвращаемого значения и тип аргумента отдельно, Typescript может вывести их, если вы объявите это таким образом.

Читать дальше

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