打字稿:“未知”类型的对象

时间:2020-03-18 09:10:17

标签: reactjs typescript fetch generator redux-saga

我有一个生成器函数foo(),其中我使用fetch调用 API 。 从 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 :(得分:0)

错误是因为您没有声明response的类型。使用必须声明Generator函数的类型,像这样。

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

无需分别声明yield类型,返回类型和参数类型,如果您以此方式声明,Typescript可以推断它们。

Read more