天天看點

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)      

遇見問題,這是你成長的機會,如果你能夠解決,這就是收獲。

繼續閱讀