首页 > 解决方案 > 关于 TypeScript Promise 返回类型的困惑

问题描述

我在 TypeScript React 中有以下代码:

const AirQuality= async ():Promise<string>=>{
    console.log('Air Quality')
    let data = await fetch(url,{
        method:'GET',
        // mode:'no-cors'
    })
    return data.json()
}

正如您在此处看到的,data.json()从函数返回。我不明白为什么当我将 Promise 类型定义为字符串时没有收到错误消息。这里有什么问题?我将 Promise 类型更改为数字,仍然没有显示错误。这可能是什么原因?

标签: javascripttypescript

解决方案


json()将返回的 JSON 解析为 JavaScript 对象结构。由于这可以是任何类型的对象,具体取决于服务器返回的内容,因此它的类型为Promise<any>.

类型可以any转换为任何类型,包括数字或字符串,这就是您看不到错误的原因。


推荐阅读