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 @ 2022-09-25 18:52  南风晚来晚相识  阅读(4929)  评论(0编辑  收藏  举报