wangduanduan / wangduanduan.github.io

Wubba Lubba dub-dub
https://wdd.js.org
27 stars 7 forks source link

typescript 声明函数的返回值类型是Promise #292

Closed wangduanduan closed 5 years ago

wangduanduan commented 5 years ago
import axios, { AxiosPromise } from 'axios'

// 需要处理中间结果
function getUserById (id: string) : Promise<any> {
  return new Promise((resolve, reject)=>{
    axios.get(`someurl${id}`)
    .then((res) => {
      resolve(res)
    })
    .catch((err) => {
      dosomething(err)
      reject(err)
    })
  })
} 

// 无需处理中间结果
function getUserById2 (id: string) : Promise<any> {
  return axios.get(`someurl${id}`)
} 

// 无需处理中间结果,可以定义类型为AxiosPromise
function getUserById3 (id: string) : AxiosPromise {
  return axios.get(`someurl${id}`)
}