Appearance
Promise
Promise
ts
const getName = (): Promise<string> => {
return new Promise((resolve, reject) => {
resolve("Jad")
})
}
async
ts
const fetchData = async (): Promise<number> => {
return 1 // 返回类型为 number
}
Promise.all
- 自动推导
ts
const getName = (): Promise<string> => {
return new Promise((resolve, reject) => {
resolve("Jad")
})
}
function loadItem(id: string): Promise<{ id: string }> {
return new Promise(resolve => {
console.log("loading item", id)
setTimeout(() => {
// simulate a server delay
resolve({ id: id })
}, 1000)
})
}
Promise.all([getName(), loadItem("1"), getName()]).then(res => {
// 可以自动推导出 res = [string , {id : string }]
})
- 显式定义
可以通过Promise.all<PromiseReolveResult1 , PromiseReolveResult2 , PromiseReolveResult3 , ... >
的方式去显式的定义 Promise.all 的类型,那么这时候如果 all 的结构体错误就会提示
ts
Promise.all<string, { id: string }, string>([getName(), loadItem("1"), getName()]).then(res => {})