我试图在我的异步函数中使用fetch,但是流程正在抛出此错误
错误:(51,26)流程:承诺。此类型与标识Promise
|的union:type应用程序不兼容await的类型参数T
这是一个可以生成此错误的代码:
async myfunc() {
const response = await fetch('example.com');
return await response.json();
}
我想输入response.json
答案 0 :(得分:5)
您可以使用Promise <T>
注释函数的返回类型,其中T
是所需类型,或者将结果分配给具有显式类型注释的临时本地,然后返回该本地。然后将推断出函数返回类型。
显式返回类型注释:
async myfunc(): Promise<{name: string}> {
const response = await fetch('example.com');
return await response.json();
}
来自明确注释的本地的推断返回类型:
async myfunc() {
const response = await fetch('example.com');
const result: {name: string} = await response.json();
return result;
}