老师请问。我改怎么定义promise的返回值类型?

来源:7-9 使用 async 和 await 改造异步请求

帅得无心敲代码

2021-07-21

老师我按照自己的思路把axios 用promise封装了一下, 但是promise返回的类型,被类型推断为unknown。我要怎么定义类型呢? 返回值是返回一个对象,还有then方法也该怎么定义?

写回答

1回答

张轩

2021-07-21

同学你好 ts 早就为我们定义了这些内置的返回类型了 这个类型就是 Promise 类型,它接受一个泛型,代表的是then 以后回调的数据。 比如说:

返回 Promise<string>
代表 
const test = await testPromise()
// test 会自动推论为 string 类型

如果还是不太懂,可以提供源代码 我帮你看看

0
2
帅得无心敲代码
老师 我把promise 换成了 async 封装了一下, 就没有报错,也不需要定义返回类型了。是不是TS 对promise 没有像async 这样定义内置的类型呀?
2021-07-21
共2条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程