当前位置:   article > 正文

如何解决在使用typescript时,网络获取回来的数据类型报错_typescript中res.code报错怎么解决

typescript中res.code报错怎么解决

最近在学vue3配合使用ts,遇到一个小问题记录一下。

通常情况下,我在使用封装后的axios调取后端数据是这样编写的:

  1. ...
  2. const getVerifyCode = async () => {
  3. const res = await RequestVerifyCode()
  4. const { resultCode, resultInfo } = res
  5. if (resultCode === 1) {
  6. VerifyCode.value = resultInfo.code
  7. VerifyData.value = resultInfo.data
  8. }
  9. }
  10. ...

在js文件下,这样是完全没有问题的;但是这里使用的是ts,这样编写,resultCode和resultInfo提示类型错误,那么应该如何解决呢?

这里,我们只要为res添加一个类型就能解决这个问题了,如下:

  1. interface Respond {
  2. resultCode: number
  3. resultInfo: any
  4. }
  5. const getVerifyCode = async () => {
  6. const res: any = await RequestVerifyCode()
  7. const { resultCode, resultInfo } = <Respond><any>res
  8. if (resultCode === 1) {
  9. VerifyCode.value = resultInfo.code
  10. VerifyData.value = resultInfo.data
  11. }
  12. }

我们在还可以把ts写的泛型写在宁一个文件,这样相同的就可重复使用了;在没时间的情况下,也可直接定义any了事,但这样ts就和js一样了,也就失去意义了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/285803
推荐阅读
相关标签
  

闽ICP备14008679号