Uncaught (in promise) {code: 0, msg: "请求成功", data: Array(9656)}

发布于 2022-09-11 18:30:18 字数 2547 浏览 9 评论 0

请求可以正常请求,也百度了说是要.catch,我有catah 但是还是报错


export function getUniformity({time = ''}) {
  // http://10.36.6.140:8100/api/cinrad/getHourCRBByParam?flag=1&time=20180608140000
  return request({
    // url:'/Radar//aws/dgStatistics',
    url:'/mode/getMode',
    type: 'get',
    params: {
      time
    }
  })
}

这是封装的请求

export function request(param) {
  return new Promise((resolve, reject) => {
    const params = Object.assign({}, commonParams, param)
    axios.request({
      ...params
    }).then(function (res) {
      let data = res.data
      if (SUCCEES_CODE === res.code) {
        typeof resolve === 'function' && resolve(data, res.msg)
      } else if (LOGIN_CODE === res.code) {
        doLogin()
      } else {
        typeof reject === 'function' && reject(res.msg || data)
      }
    }).catch(function (error) {
      typeof reject === 'function' && reject(error)
    })
  })
}

然后这是调用,当然,引入什么的没问题

    getUniformity({ time }) {
      getUniformity({ time }).then(res => {
        this.receive_loading = false
        if (this.cinradLayer === null) {
            this.cinradLayer = new L.LayerGroup();
          } else {
            this.cinradLayer.clearLayers();
          }
        let type = this.type
        let dataType = function(type) {
          return res.content[type];
        }
        dataType(type).forEach(item => {
          let toolTipTemp = `<div>
            <ul>
              <li>站名:${item.STATION_NAME}-${item.STATION_CODE}(${item.PROVINCE})</li>
              <li>标准偏差:${item.PRECIPITATION_24_HOUR}</li>
              <li>相关性(R²):${item.CITY}</li>
            </ul>
          </div>`
          let icon = L.divIcon({
            className: 'marker',
            html: `<i style="display:inline-block;border-radius:50%;background:red;width:12px;height:12px;" class="marker"></i>`
          })

          let mk = L.marker([item.LAT, item.LON],{icon:icon}).bindTooltip(toolTipTemp,{className:'map-tooltip'})
          let siteData={}
          mk.addTo(this.cinradLayer)

          mk.on('click', (ev) => {
            this.chartData = [ev.target.siteData]
            console.log('给弹出框传递参数')
            this.showInfo()
          })
        })
        this.cinradLayer.addTo(this.map);
      })
    },

方法也调用了,请求大神指点迷津
对了,如果在methods中的getUniformity函数后面跟上个.catch的话,请求的结果会出现在error里面,相当于还是请求发生错误了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溇涏 2022-09-18 18:30:18

每个Promise都应该有catch的,至于你说结果会出现在error里面,应该是

export function request(param) {
  return new Promise((resolve, reject) => {
    const params = Object.assign({}, commonParams, param)
    axios.request({
      ...params
    }).then(function (res) {
      let data = res.data
      if (SUCCEES_CODE === res.code) {
        typeof resolve === 'function' && resolve(data, res.msg)
      } else if (LOGIN_CODE === res.code) {
        doLogin()
      } else {
      
          // 代码执行到这里  reject 出去了,被外侧的catch 捕获了
          
        typeof reject === 'function' && reject(res.msg || data)
      }
    }).catch(function (error) {
      typeof reject === 'function' && reject(error)
    })
  })
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文