首页 > 解决方案 > 我应该如何在我的函数中使用 promise 来确保返回类型正确

问题描述

我编写了一个函数来从后端服务器检索一些数据

getEventList() {
  return this.request({
    url: '/event/v1/list'
  })
}

getEventList()返回一个 Promise,但现在我需要先检查本地缓存。

getEventList() {
  if local cache exists
      return local cache

  return this.request({
    url: '/event/v1/list'
  })
}

本地缓存是一个数组,请求结果是一个承诺。一个函数有两种不同的返回类型,我应该怎么做才能随时getEventList()返回一个数组?

标签: javascriptecmascript-6promiseasync-await

解决方案


从缓存检查中返回一个承诺:

getEventList() {

  if (cached) {
     return Promise.resolve(cacheResult);
  }

  return this.request({
    url: '/event/v1/list'
  })
  
}


推荐阅读