【发布时间】:2021-12-02 02:02:40
【问题描述】:
例如在下面的代码中,响应的类型应该是什么? Typescript 不断给我错误,例如,Type 'unknown' is not assignable to type 'Promise'
const response: [what type???] = await Promise.race([
apicall(),
timeoutPromise(),
]);
【问题讨论】:
-
Promise.race从首先解决的任何一个 Promise 返回值的 Promise,然后您await该 Promise 并获取该值。那么apicall和timeoutPromise返回的承诺是什么? -
apicall和timeoutPromise返回什么类型?结果将是ReturnType<typeof apicall> | ReturnType<typeof timeoutPromise>,但它几乎没有用处。 -
请提供minimal reproducible example,清楚地表明您面临的问题。理想情况下,有人可以将代码放入像The TypeScript Playground (link here!) 这样的独立IDE 中,然后立即着手解决问题,而无需首先重新创建它。所以应该没有错别字、不相关的错误或未声明的类型或值。
-
如果您在发布的行上收到错误,那么它与
Promise.race()的返回类型无关;表示apicall()或timeoutPromise()的返回类型为unknown。
标签: typescript typescript-typings typescript-generics react-typescript