TS声明promise返回来的数据类型

promise返回来的数据类型

interface backResult{
    code: number,
    data: { name:string,age:number}[], //数组里面的对象类型,这里使用的是类型
    message:string
}
// 在这里声明出promise的类型,使用的接口
let p: Promise<backResult> = new Promise((resolve,reject)=> { 
    resolve({
        code: 200,
        data: [
            {name:'张三',age:123}
        ],
        message:'操作成功'
    })
})
p.then((res) => { 
    if (res.code == 200) { 
        let arr = res.data.map(v => v.name)
    }
})

声明的类型还可以这样操作哈

interface backData{
    name: string,
    age: number
}

interface backResult{
    code: number,
    data: backData[], //这里使用接口
    message:string
}

TS声明 axios 返回来的数据类型是这样的

// 登录的参数类型
interface loginParmas {
    password: string
    username: string
}

// 登录的返回数据类型
interface adminBackData{
    code: number,
    data: {
        token: string,
        tokenHead:string
    },
    message:string
}
// 登录获取token
export const tset = (data: loginParmas):Promise<adminBackData> => request.post('/admin/login', data)
posted @   南风晚来晚相识  阅读(5042)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-09-25 理解Vuex的辅助函数mapState
点击右上角即可分享
微信分享提示