vue3+ts+echarts x轴文字显示[object Promise]

option内部设置代码:

{
  //...
  xAxis:{
    axisLabel:{
      formatter:(params: any)=>{
        return datawrap(params)
      }
    }
  },
  //....
}
export asyns datawrap(params: any)=>{
  if(params.length>16)return params.substr(0,16)+'...'
  return params
}

效果是:
image.png
换一种一写法:

export asyns datawrap(params: any)=>{
  if(params.length>16)return Promise.resolve(params.substr(0,16)+'...')
  return Promise.resolve(params)
}
axisLabel:{
  formatter:(params: any)=>{
    return datawrap(params).then((res: any)=>{
      return res
    })
  }
}
实现效果还是[object Promise]
阅读 2.9k
1 个回答
✓ 已被采纳新手上路,请多包涵

其实试了很多方法,问题总是出在引用外部方法,返回值永远都是一个promise对象,所以干脆,再用echarts时,内部option各项设置就不用外部方法了,直接在内部写,当然很不甘,没有找到对应的解决方案,希望有人能够补充解决方案吧
咳咳,看过来
因为async导致返回参数是个promise对象,把async取消掉就解决了,就正常返回值了
emmmm,这波属于什么,async的概念没搞明白啊

推荐问题